Отображение диалогового окна Печать

В этом разделе описывается пример кода, который отображает диалоговое окно Печать , так что пользователь сможет выбрать параметры для печати документа. В образце кода сначала инициализирующего структуру PRINTDLG , а затем вызывает функцию PrintDlg для отображения диалогового окна.

Этот пример устанавливает флаг PD_RETURNDC в флаги член PRINTDLG структуры. Это приводит к PrintDlg возвратить дескриптор контекста устройства для выбранного принтера в hDC -членов. Маркер можно использовать для отображения выходных данных на принтере.

На входе пример кода задает членов hDevMode и hDevNames в значение NULL. Если функция возвращает значение TRUE, эти члены вернуть ручки для DEVMODE и DEVNAMES, относящейся структур, содержащих введенный пользователем и сведений о принтере. Можно использовать эту информацию для подготовки вывода следует направлять на выбранном принтере.

PRINTDLG pd;
HWND hwnd;

/ / Инициализировать PRINTDLG
ZeroMemory (amp; pd, sizeof(PRINTDLG));
PD.lStructSize = sizeof(PRINTDLG);
PD.hwndOwner = hwnd;
PD.hDevMode = NULL;      / / Не забудьте освободить или хранить hDevMode.
PD.hDevNames = NULL;      / / Не забудьте освободить или хранить hDevNames.
ПД.Флаги = PD_USEDEVMODECOPIESANDCOLLATE | PD_RETURNDC; 
PD.nCopies = 1;
PD.nFromPage = 0xFFFF; 
PD.nToPage = 0xFFFF; 
PD.nMinPage = 1; 
PD.nMaxPage = 0xFFFF; 

Если (PrintDlg(&pd) == TRUE) {}

/ / GDI вызывается для отображения выходных данных. 

    / / Delete DC когда сделано.
    DeleteDC(pd.hDC);
} 

Index