Este tópico descreve codificar exemplo que exibe uma caixa de diálogo Imprimir para que um usuário pode selecionar opções para impressão de um documento. O exemplo de código primeiro Inicializa uma estrutura PRINTDLG e, em seguida, chama o PrintDlg função para exibir a caixa de diálogo.
Este exemplo define o Sinalizar de PD_RETURNDC sinalizadores membro da estrutura PRINTDLG . Isso faz com que o PrintDlg retornar um identificador de contexto de dispositivo para a impressora selecionada no membro hDC . Você pode usar o identificador para processar saída na impressora.
Na entrada, o exemplo de código define o hDevMode e hDevNames Membros para NULL. Se a função retorna TRUE, esses membros retornam alças para DEVMODE de DEVNAMES estruturas contendo a entrada do usuário e informações sobre a impressora. Você pode usar essas informações para preparar a saída a ser enviada para a impressora selecionada.
PRINTDLG pd;
HWND hwnd;
/ / Inicializar PRINTDLG
ZeroMemory (amp; pd, sizeof(PRINTDLG));
PD.lStructSize = sizeof(PRINTDLG);
PD.hwndOwner = hwnd;
PD.hDevMode = NULL; / / Não se esqueça de livre ou armazenar hDevMode.
PD.hDevNames = NULL; / / Não se esqueça de livre ou armazenar hDevNames.
PD.Sinalizadores = PD_USEDEVMODECOPIESANDCOLLATE | PD_RETURNDC;
PD.nCopies = 1;
PD.nFromPage = 0xFFFF;
PD.nToPage = 0xFFFF;
PD.nMinPage = 1;
PD.nMaxPage = 0xFFFF;
se (PrintDlg(&pd) = = TRUE) {
/ / GDI chama para processar saída.
/ / Excluir DC quando feito.
DeleteDC(pd.hDC);
}