Exibir a caixa de diálogo Imprimir

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);
} 

Index