Microsoft Windows は、デバイスに依存しないディスプレイを実装します。 MFC では、ビュー クラスの OnDraw メンバー関数で同じ描画呼び出しが、ディスプレイやプリンターなどの他のデバイスで描画を行う必要があることを意味します。 印刷プレビューの場合、ターゲット デバイスはディスプレイへのシミュレートされたプリンター出力です。
印刷でのロールとフレームワークのロール
ビュー クラスには、次の役割があります。
ドキュメント内のページ数をフレームワークに通知します。
指定したページを印刷するように求められたら、文書のその部分を描画します。
印刷に必要なフォントまたはその他のグラフィックス デバイス インターフェイス (GDI) リソースを割り当てて割り当てを解除します。
必要に応じて、特定のページを印刷する前にプリンター モードを変更するために必要なエスケープ コードを送信します。たとえば、ページごとに印刷の向きを変更します。
フレームワークの責任は次のとおりです。
[印刷] ダイアログ ボックスを表示します。
プリンターの CDC オブジェクトを作成します。
オブジェクトの StartDoc および
CDCメンバー関数を呼び出します。オブジェクトの
CDCメンバー関数を繰り返し呼び出し、印刷するページをビュー クラスに通知し、 オブジェクトのCDCメンバー関数を呼び出します。ビューでオーバーライド可能な関数を適切な時刻に呼び出します。
次の記事では、フレームワークが印刷と印刷プレビューをサポートする方法について説明します。