MFCで印刷のダイアログを作ったのですが
OKを押した時に印刷をさせる仕方が
分かりません。どなたか教えてください。
すいません。初歩的な質問で・・・。
一応印刷のダイアログを出したソースです。
CPrintDialog PrintD(FALSE);
PrintD.DoModal();
こんな感じですね.
これで,1~3ページの印刷処理になります.
CPrintDialog PrintDlg(FALSE, PD_ALLPAGES | PD_USEDEVMODECOPIES | PD_HIDEPRINTTOFILE);
PrintDlg.m_pd.nFromPage = 1;
PrintDlg.m_pd.nToPage = 3;
PrintDlg.m_pd.nMinPage = 1;
PrintDlg.m_pd.nMaxPage = 3;
if (PrintDlg.DoModal() == IDOK) {
int nFromPage = PrintDlg.m_pd.nFromPage;
int nToPage = PrintDlg.m_pd.nToPage;
/* Printer DC GET */
CDC dc;
dc.Attach(PrintDlg.m_pd.hDC);
/* Doc Start */
DOCINFO di;
memset(&di, 0, sizeof(di));
di.cbSize = sizeof(di);
di.lpszDocName = 印刷ドキュメント名;
if (dc.StartDoc(&di) == -1) {
return ;
}
for (int nPage = nFromPage; nPage <= nToPage; nPage++) {
/* Page Start */
dc.StartPage();
/* nPageページの印刷処理 */
;
/* Page End */
dc.EndPage();
}
/* Doc End */
dc.EndDoc();
/* Printer DC Free */
dc.Detach();
::DeleteDC(PrintDlg.m_pd.hDC);
::GlobalFree(PrintDlg.m_pd.hDevNames);
::GlobalFree(PrintDlg.m_pd.hDevMode);
}
kuさん、ありがとうございました。