Как отобразить (принтер) диалоговые окна в приложении Windows CE Direct-X? - PullRequest
1 голос
/ 18 июля 2010

Эта страница говорит, что вам нужно позвонить PrintSetupDlg , но этот код

PAGESETUPDLG printDialog;
ZeroMemory(&printDialog, sizeof(printDialog));
printDialog.lStructSize = sizeof(printDialog);
printDialog.hwndOwner = hwnd; //or = NULL

PageSetupDlg(&printDialog);

останавливает программу при вызове PageSetupDlg - она ​​перестает отвечать иМне нужно остановить процесс.

Как печатать в Windows CE? (с использованием C ++ в приложении DirectX, CE 6.0)

1 Ответ

1 голос
/ 21 сентября 2010

Оказывается, что по какой-то безумной причине диалоговые окна отображаются только в исходном переднем буфере, даже если этот буфер был заменен, а исходный задний буфер теперь является передним буфером (отображается на экране).

Решение состояло в том, чтобы отслеживать, сколько раз буфер менялся местами, и заменять его снова, если число перестановок было нечетным (что приводит к тому, что исходный передний буфер всегда будет текущим передним буфером, когда диалоговое окнопоказано).

...