CView クラス
ユーザーが定義するビュークラスの基本機能が用意されています。
class AFX_NOVTABLE CView : public CWnd
メンバー
プロテクト コンストラクター
名前 |
説明 |
---|---|
CView オブジェクトを構築します。 |
パブリック メソッド
名前 |
説明 |
---|---|
表示の印刷ダイアログ ボックスは、プリンターのデバイス コンテキストを作成し、; OnPreparePrinting のメンバー関数をオーバーライドするときに呼び出します。 |
|
ビューに関連付けられたドキュメントを返します。 |
|
ドキュメントの項目が選択されているかどうかをテストします。OLE サポートするために必要です。 |
|
項目がビューのドラッグ アンド ドロップ領域にドラッグしたとき呼び出されます。 |
|
ドラッグした項目がビューのドラッグ アンド ドロップ領域から出るときに呼び出されます。 |
|
項目がビューのドラッグ アンド ドロップ領域にをドラッグすると呼び出されます。 |
|
カーソルがウィンドウのスクロールのサーフェイスにドラッグするかどうかを判断するために呼び出されます。 |
|
項目がビューのドラッグ アンド ドロップ領域にドロップしたとき呼び出される、既定のハンドラー。 |
|
項目がビューのドラッグ アンド ドロップ領域にドロップしたとき呼び出される、プライマリ ハンドラー。 |
|
ビューで、ドキュメントに最初にアタッチされた後に呼び出されます。 |
|
OnDraw のメンバー関数が画面に表示または OnPrint のメンバー関数に呼び出される前に呼び出されます印刷や印刷プレビューのために呼び出されます。 |
|
OLE アイテムがビューの境界を越えてドラッグすると呼び出されます。 |
|
アクティブな埋め込み先の OLE アイテムを含むビューがスクロールされるときに呼び出されます。 |
プロテクト メソッド
名前 |
説明 |
---|---|
ビューを含むフレーム ウィンドウがアクティブまたは非アクティブ化されたときに呼び出されます。 |
|
ビューがアクティブになるときに呼び出されます。 |
|
印刷ジョブの開始時に呼び出されます; グラフィック デバイス インターフェイス (GDI) の (GDI) リソースを割り当てるためにオーバーライドします。 |
|
画面表示、印刷、印刷プレビューのドキュメントのイメージを描画するために呼び出されます。必要な実装。 |
|
印刷ジョブを終了するときに呼び出されます; GDI リソースを解放するためにオーバーライドします。 |
|
プレビュー モードが終了するときに呼び出されます。 |
|
文書を印刷するか、またはプレビューされる前に呼び出されます; 印刷ダイアログ ボックスを初期化するためにオーバーライドします。 |
|
ドキュメントのページを印刷したり、プレビューするために呼び出されます。 |
|
ドキュメント ビューが変更されたことを通知するために呼び出されます。 |
解説
ビューはドキュメントに関連付けられ、ドキュメントとユーザーの仲立ちとして動作します。ビューは画面またはプリンター上でドキュメントのイメージを描画して、入力をドキュメント上の操作へと変換します。
ビューは、フレーム ウィンドウの子ウィンドウとなります。複数のビューは、分割ウィンドウの場合のようにフレーム ウィンドウを分割して使用できます。ビュー クラス、フレーム ウィンドウ クラス、ドキュメント クラスの間の関係は、CDocTemplate オブジェクトによって成り立っています。新しいウィンドウを開いたとき、または既存のウィンドウを分割したとき、フレームワークは新しいビューを作成してドキュメントをビューに関連付けます。
ビューは 1 つのドキュメントにだけ関連付けられますが、ドキュメントには一度に複数のビューを関連付けることができます。たとえば、ドキュメントを分割ウィンドウに表示したときや、MDI (マルチ ドキュメント インターフェイス) アプリケーションで複数の子ウィンドウにドキュメントを表示したときです。アプリケーションでは、ドキュメントに指定された型で、複数の型のビューをサポートできます。たとえば、ワード プロセッサのプログラムで、ドキュメントの完全なテキストのビューと文節の先頭だけを見せる概略のビューをともに使用するようなときです。このような異なった型のビューは、分割されたフレーム ウィンドウまたは分割ウィンドウを使って 1 つのフレーム ウィンドウの分割されたペインに置くことができます。
ビューはメニュー、ツール バー、またはスクロール バーでのコマンドはもちろん、キーボード入力、マウス入力、またはドラッグ アンド ドロップ入力のような異なった種類の入力を処理できます。ビューは、そのフレーム ウィンドウによって転送されたコマンドを受け取ります。ビューが渡されたコマンドを処理しない場合は、コマンドはビューに関連付けられたドキュメントに送られます。すべてのコマンド ターゲットと同じように、ビューはメッセージをメッセージ マップを使って処理します。
ビューはドキュメントのデータの表示や変更を行いますが、格納は行いません。ドキュメントは、ビューに対して必要なデータの詳細を提供します。ビューは、ドキュメントのデータ メンバーに直接アクセスできます。また、ドキュメント クラスのメンバー関数をビュー クラスで呼び出せるようにすることもできます。
ドキュメントのデータを変更するときは、通常、ビューはドキュメントの CDocument::UpdateAllViews 関数を呼び出します。この関数は、それぞれに OnUpdate メンバー関数を呼び出して、ほかのすべてのビューに通知します。OnUpdate の既定の実装は、ビューのクライアント領域全体を無効化します。ドキュメントの変更部分に割り当てられたクライアント領域だけを無効化するために、この関数をオーバーライドすることもできます。
CView を使用するためには、CView からクラスを派生し、OnDraw メンバー関数を実装して画面に表示します。また、印刷や印刷プレビューを実行するために OnDraw を使用することもできます。フレームワークは、ドキュメントの印刷やプレビューのために印刷ループを行います。
ビューは CWnd::OnHScroll メンバー関数や CWnd::OnVScroll メンバー関数を使ってスクロール バー メッセージを処理します。これらの関数で、スクロール バー メッセージの処理を実装できます。また、CView の派生クラス ScrollView を使ってスクロールを処理することもできます。
CScrollView に加えて、Microsoft Foundation Class ライブラリには、CView から派生した 9 つのクラスが用意されています。
CCtrlView ツリー コントロール、リスト コントロール、およびリッチ エディット コントロールを使用したドキュメント / ビュー アーキテクチャを利用できるビューです。
CDaoRecordView データベースのレコードをダイアログ ボックス コントロールに表示できるビューです。
CEditView 簡単なマルチライン テキスト エディターを提供するビューです。ドキュメント上のビューとしてはもちろん、ダイアログ ボックスのコントロールとして CEditView を使うことができます。
CFormView ダイアログ ボックス コントロールを持つスクロール可能なビューで、ダイアログ テンプレート リソースをベースにしています。
CListView リスト コントロールを使用したドキュメント/ビュー アーキテクチャを利用できるビューです。
CRecordView データベースのレコードをダイアログ ボックス コントロールに表示できるビューです。
CRichEditView リッチ エディット コントロールを使用したドキュメント / ビュー アーキテクチャを利用できるビューです。
CScrollView スクロール機能を自動的に提供するビューです。
CTreeView ツリー コントロールを使用したドキュメント/ビュー アーキテクチャを利用できるビューです。
また、CView クラスは CPreviewView と名付けられた派生クラスも持っています。このクラスはフレームワークによって使われ、印刷プレビューを実行します。このクラスは、ツール バー、片面あるいは見開きのプレビュー、プレビュー イメージの拡大などの印刷プレビュー固有の機能をサポートしています。印刷プレビューの独自のインターフェイスを実装する (たとえば、印刷プレビュー モードで編集をサポートする場合) ことがない場合、CPreviewView のメンバー関数を呼び出したりオーバーライドする必要はありません。CView の使い方の詳細については、「ドキュメント/ビュー アーキテクチャ」および「印刷」を参照してください。さらに印刷プレビューのカスタマイズの詳細については、「テクニカル ノート 30: 印刷と印刷プレビューのカスタマイズ」を参照してください。
継承階層
CView
必要条件
ヘッダー: afxwin.h