掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
印刷範囲を指定して印刷するには? (ID:69025)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
MFC6です。 CViewから派生させているクラスで、OnUpdateで印刷要求メッセージが来た際に CView::OnFilePrint()を直接呼んでいます。 動作させると印刷のダイアログが表示され、印刷範囲を「すべて」にしてOKを押すと全ページが問題なく印刷されます。 ところが印刷範囲を「ページ指定」にして、例えば全10ページのドキュメントで3ページから5ページまでを指定して印刷すると、 3ページから10ページまで印刷されてしまい、印刷終了ページの指定が無視された形になります。 MFCのソースを追いかけてみたのですが、各ページの印刷の途中で印刷終了ページの値がドキュメントの終了ページに上書きされてしまっているようにみられます。 〜\Microsoft Visual Studio 8\VC\atlmfc\src\mfc\viewprnt.cpp - 312行目 if (nStep > 0) // pages are printed in ascending order { // OnPrint may have set the last page // because the end of the document was reached. // The loop must not continue with the next iteration. nEndPage = printInfo.GetMaxPage() + nStep; } ダイアログで指定した範囲で印刷するには、何か特別な処理が必要なのでしょうか?
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.