Значки принтера - это диалоговое окно печати
Привет,
Я использую C++ и простые вызовы Winapi для отображения диалогового окна печати, и это работает нормально. Однако диалоговое окно, которое я получаю, показывает старые значки принтера по сравнению с аналогичными диалогами печати, созданными другим программным обеспечением. Интересно, почему?
Есть ли у кого-нибудь идея, как отобразить новые значки принтера, как это делает MS Paint 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) ;