как запустить диалоговое окно печати из приложения, как из Word Pad в Wince - PullRequest
1 голос
/ 02 июня 2011

Я пытаюсь запустить диалоговое окно печати по умолчанию из приложения, но оно не появляется.Я могу запустить диалоговое окно печати из приложения WordPad, он также печатает документ, но, когда я пытаюсь сделать то же самое, ничто не радует.Вот код для диалога печати печати: -

PAGESETUPDLG printDialog;

ZeroMemory(&printDialog, sizeof(printDialog)); 

printDialog.lStructSize = sizeof(printDialog); 

printDialog.hwndOwner = NULL; //or = NULL  

PageSetupDlg(&printDialog);

Пожалуйста, скажите мне, как этого добиться ...

С уважением,

Мукеш

1 Ответ

2 голосов
/ 03 июня 2011

Код, который вы опубликовали, прекрасно работает в тестовом приложении, которое я установил, так что технически в этом нет ничего плохого.

Если вы укажете hwndOwner как NULL, как в вашем примере кода, диалоговое окно печати откроется как немодальное диалоговое окно, которое может открывать за GUI вашего приложения - поэтому ваш код может правильно открывать диалоговое окно ты просто не видишь этого. Поскольку немодальное диалоговое окно не мешает вам взаимодействовать с окном, которое его породило, вы сможете полностью взаимодействовать со своим основным графическим интерфейсом, не понимая, что за ним скрывается диалоговое окно печати. ​​

Не можете ли вы указать hwndOwner? Это действительно должен быть дескриптор окна, открывающего диалоговое окно печати, чтобы, как я упоминал выше, он не давал пользователю взаимодействовать с главным окном, пока настройки принтера настроены.

...