私のアプリに印刷機能を追加しようとしています。 CPrintDialogを表示して、プリンタオプションを取得します。印刷範囲オプションを有効にするにはどうすればよいですか?ダイアログをdoModal()すると、現在このオプションは無効になっています。CPRintDialogで印刷範囲の選択ができません
0
A
答えて
1
あなたはどのような議論をCPrintDialogコンストラクタに渡していますか?コンストラクタは、あなたが「dwFlagsパラメータ」引数の値を指定しない場合ので、あなたはそれらのデフォルトのフラグを取得します
CPrintDialog(BOOL bPrintSetupOnly,
DWORD dwFlags = PD_ALLPAGES|PD_USEDEVMODECOPIES|PD_NOPAGENUMS|
PD_HIDEPRINTTOFILE|PD_NOSELECTION,
CWnd* pParentWnd = NULL);
として宣言されています。デフォルトのフラグにはPD_NOPAGENUMSが含まれているため、ページ選択コントロールは無効になります。また、ページ選択コントロールが機能するには、最大ページ番号も設定する必要があります。コードを何かに変更してみてください
CPrintDialog dlg(FALSE,
PD_ALLPAGES|PD_USEDEVMODECOPIES|PD_HIDEPRINTTOFILE|PD_NOSELECTION);
dlg.m_pd.nMaxPage = 100;
dlg.DoModal();
0
印刷コードは印刷されるページ数を設定していますか?私は手元にコードはありませんが、OnPreparePrintDC()などのm_MaxPageを設定するか、引数として取得するオブジェクトのメンバであると思います。
関連する問題
- 1. 範囲を選択できません
- 2. ハイパーリンクの範囲の一部を選択できません
- 3. Excelの印刷範囲
- 4. 印刷アルゴリズムのページ範囲
- 5. 印刷範囲のサブコレクション
- 6. 入手できません。日付範囲用に印刷された行数
- 7. Vimでの選択範囲
- 8. 選択範囲
- 9. 範囲でクエリを選択
- 10. 複数の選択タグ内のオプションの範囲を削除できません
- 11. CountAで指定された範囲は選択を完了できません
- 12. ワークシートの印刷領域の範囲を選択する方法は?
- 13. エラーVB.Net Excelワークブックで範囲を選択すると「Rangeクラスのメソッドを選択できませんでした」
- 14. Regexが印刷できません
- 15. jQuery datepickerの日付範囲セレクタから日付範囲を選択できませんJAVA
- 16. 日付の範囲を取得できません(Date.today..Date.new(2012、4、1))。選択
- 17. 一番左のマルチインデックスで範囲で選択できますか?
- 18. 範囲選択エラー
- 19. daterangepicker選択範囲
- 20. 印刷選択値
- 21. Excel VBA:範囲内のデータセルを印刷
- 22. コード名1行のデータベース印刷範囲
- 23. Pythonで印刷できません
- 24. Jquery:選択範囲内の選択
- 25. PHPの指定された日付範囲から日付を印刷できませんでした
- 26. テキストエディットでテキスト範囲をプログラムで選択
- 27. バイナリ検索ツリー印刷範囲
- 28. VBA範囲の選択
- 29. 円の範囲選択コントロール
- 30. jq:範囲の選択
運がない。テストプロジェクトでこれを試しましたか?リリースビルドでも動作しないようです。それがあなたのために働くかどうか私に教えてください。私は範囲の選択を処理する特別な方法があると思う、私はどこかに読んで覚えている(想像する)。 Btw、私のプロジェクトは、doc/viewに基づいていないし、ダイアログベースのアプリケーションだけです。これが理由だろうか?あなたの助けに感謝します。 –
私は実際にそれをテストしていませんでした、それについて申し訳ありません。今私は、私はあなたがまた、これらのコントロールを有効にするための最大ページ番号を設定する必要があることがわかります:これを反映する上記の私の答えを編集し、少なくとも私の作品です。 問題はDocViewを使用していないことに関連していません.CPrintDialog自体は、Windowsのネイティブ印刷ダイアログを囲む薄いラッパーです。 DocViewを使わないで実際に印刷するのは聞こえるかもしれませんが、それは別の問題です... – DavidK