Значки принтера в диалоговом окне печати - PullRequest
0 голосов
/ 11 июля 2020

Я использую C ++ и обычные вызовы Winapi для отображения диалогового окна «Печать», и он отлично работает. Однако диалоговое окно, которое я получаю, показывает старые значки принтера по сравнению с аналогичными диалоговыми окнами печати, созданными другим программным обеспечением. Интересно, почему.

Кто-нибудь знает, как отображать новые значки принтера, как это делает MSV C dialog

Большое спасибо.

Вот как я показываю Диалог печати в моем приложении:

// Initialize the PRINTDLGEX structure
PRINTDLGEX  PrnDlgEx ;

PrnDlgEx.lStructSize = sizeof (PRINTDLGEX) ;
PrnDlgEx.hwndOwner = hwnd ;
PrnDlgEx.hDevMode  = NULL ;
PrnDlgEx.hDevNames = NULL ;
PrnDlgEx.hDC = NULL ;
PrnDlgEx.Flags = PD_HIDEPRINTTOFILE | PD_NOCURRENTPAGE | PD_NOPAGENUMS |
                 PD_NOSELECTION | PD_USEDEVMODECOPIESANDCOLLATE ;
PrnDlgEx.Flags2 = 0 ;
PrnDlgEx.ExclusionFlags = 0 ;
PrnDlgEx.nPageRanges = 0 ;
PrnDlgEx.nMaxPageRanges = 0 ;
PrnDlgEx.lpPageRanges = nullptr ;
PrnDlgEx.nMinPage = 1 ;
PrnDlgEx.nMaxPage = 0xFFFF ;
PrnDlgEx.nCopies  = 1 ;
PrnDlgEx.hInstance = NULL ;
PrnDlgEx.lpPrintTemplateName = NULL ;
PrnDlgEx.lpCallback = NULL ;
PrnDlgEx.nPropertyPages = 0 ;
PrnDlgEx.lphPropertyPages = NULL ;
PrnDlgEx.nStartPage = START_PAGE_GENERAL ;
PrnDlgEx.dwResultAction = 0 ;

HRESULT Result = PrintDlgEx (&PrnDlgEx) ;

Ниже приведены снимки экрана для моего диалогового окна печати 1 и MS V C диалогового окна 2.

My Print Dialog with old icons

MS V C Диалог печати с современными иконками

1 Ответ

0 голосов
/ 14 июля 2020

Согласно Настройка диалогового окна печати . Вы можете создать собственный шаблон, изменив шаблон по умолчанию, указанный в файле Prnsetup.dlg. Идентификаторы элементов управления, используемые в шаблоне диалогового окна печати по умолчанию, определены в файле Dlgs.h.

Затем используйте структуру PRINTDLG, чтобы включить шаблон.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...