|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
Displaying the Print Dialog Box
This topic describes sample code that displays a Print dialog box so a user can select options for printing a document. The sample code first initializes a PRINTDLG structure, and then calls the PrintDlg function to display the dialog box.
This example sets the PD_RETURNDC flag in the Flags member of the PRINTDLG structure. This causes PrintDlg to return a device context handle for the selected printer in the hDC member. You can use the handle to render output on the printer. On input, the sample code sets the hDevMode and hDevNames members to NULL. If the function returns TRUE, these members return handles to DEVMODE and DEVNAMES structures containing the user's input and information about the printer. You can use this information to prepare the output to be sent to the selected printer.
PRINTDLG pd; HWND hwnd;
// Initialize PRINTDLG ZeroMemory(&pd, sizeof(PRINTDLG)); pd.lStructSize = sizeof(PRINTDLG); pd.hwndOwner = hwnd; pd.hDevMode = NULL; // Don't forget to free or store hDevMode. pd.hDevNames = NULL; // Don't forget to free or store hDevNames. pd.Flags = PD_USEDEVMODECOPIESANDCOLLATE | PD_RETURNDC; pd.nCopies = 1; pd.nFromPage = 0xFFFF; pd.nToPage = 0xFFFF; pd.nMinPage = 1; pd.nMaxPage = 0xFFFF;
if (PrintDlg(&pd)==TRUE) {
// GDI calls to render output.
// Delete DC when done. DeleteDC(pd.hDC); }
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
Отображение Диалогового Ящика Отпечатка
Эта тема описывает код образца, который отображает диалоговый ящик Отпечатка, так что потребитель может выбраться выборы для печати документа. Код образца сначала инициализирует структуру PRINTDLG, затем называет функцию PrintDlg, чтобы отображать диалоговый ящик.
Этот пример устанавливает флаг PD_RETURNDC на члене Флагов структуры PRINTDLG. Это заставляет PrintDlg, чтобы возвращать контекстную ручку устройства для выбранного принтера на члене hDC. Вы можете использовать ручку, чтобы предоставлять выход в принтер. Во вкладе, код образца устанавливает hDevMode и участников hDevNames НЕДЕЙСТВИТЕЛЬНОГО. Если функция возвращает ИСТИНУ, эти обратные ручки участников в DEVMODE и структуры DEVNAMES, содержащие ввод пользователя и информация о принтере. Вы можете использовать эту информацию, чтобы подготавливать выход, который нужно посылаться в выбранный принтер.
pd PRINTDLG; HWND hwnd;
// Инициализируйте PRINTDLG ZeroMemory(&pd, sizeof(PRINTDLG)); pd.lStructSize = sizeof(PRINTDLG); pd.hwndOwner = hwnd; pd.hDevMode = НЕДЕЙСТВИТЕЛЬНЫЙ; // Не забывайте освобождать или загружать hDevMode. pd.hDevNames = НЕДЕЙСТВИТЕЛЬНЫЙ; // Не забывайте освобождать или загружать hDevNames. pd.Сигнализирует = PD_USEDEVMODECOPIESANDCOLLATE | PD_RETURNDC; pd.nCopies = 1; pd.nFromPage = 0xFFFF; pd.nToPage = 0xFFFF; pd.nMinPage = 1; pd.nMaxPage = 0xFFFF;
если (PrintDlg(&pd)==TRUE) {
// GDI НАЗЫВАЕТСЯ, чтобы предоставлять выход.
// Удалите DC когда сделано. DeleteDC(pd.hDC); }
|
|
|
|
| |