印刷するには? – プログラミング – Home

通知
すべてクリア

[解決済] 印刷するには?


美樹
 美樹
(@美樹)
ゲスト
結合: 24年前
投稿: 2
Topic starter  

MFCで印刷のダイアログを作ったのですが
OKを押した時に印刷をさせる仕方が
分かりません。どなたか教えてください。
すいません。初歩的な質問で・・・。

一応印刷のダイアログを出したソースです。

CPrintDialog PrintD(FALSE);
PrintD.DoModal();


引用未解決
トピックタグ
ku
 ku
(@ku)
ゲスト
結合: 25年前
投稿: 312
 

こんな感じですね.
これで,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);
}


返信引用
美樹
 美樹
(@美樹)
ゲスト
結合: 24年前
投稿: 2
Topic starter  

kuさん、ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました