次の方法で共有


ビューを経由したユーザー入力の解釈

更新 : 2007 年 11 月

ビュー クラスのそのほかのメンバ関数は、すべてのユーザー入力を処理し、解釈します。通常、ビュー クラスでメッセージ ハンドラ メンバ関数を定義するのは、次の処理をするためです。

  • マウス操作およびキーストロークによって生成される Windows メッセージ

  • メニュー、ツール バーのボタン、およびアクセラレータ キーによって生成されるコマンド

これらのメッセージ ハンドラ メンバ関数は、クリップボードとのデータのやり取りを含め、次の操作をデータの入力、選択、編集として解釈します。

  • マウスの移動、クリック、ドラッグ、ダブルクリック

  • キーストローク

  • メニュー コマンド

ビューで処理する Windows メッセージは、アプリケーションのニーズによって異なります。

メッセージの処理とマップ」では、メニュー項目やほかのユーザー インターフェイスをコマンドに割り当てる方法と、コマンドをハンドラ関数にバインドする方法を説明します。また、「メッセージの処理とマップ」では、MFC がコマンドを転送して、標準 Windows メッセージのハンドラを保持しているオブジェクトに、標準 Windows メッセージを送る方法も説明します。

たとえば、アプリケーションのビューに、直接的なマウス描画を実装する必要があるとします。Scribble サンプルでは、線分の描画を開始、続行、終了するために、WM_LBUTTONDOWNWM_MOUSEMOVEWM_LBUTTONUP のメッセージをそれぞれ処理する方法を示しています。また、別の状況では、ビューのマウス クリックを選択操作と解釈する必要もあります。ビューの OnLButtonDown ハンドラ関数は、ユーザーの操作が描画なのか、または選択なのかを判断します。選択操作である場合、ハンドラはクリックがビュー内のオブジェクトの境界内で行われたかどうかを判断します。境界内である場合は、オブジェクトが選択されたことを示すように表示を変更します。

ビューでは、クリップボードを使って、選択されたデータを切り取り、コピーし、貼り付け、削除する、[編集] メニューのコマンドのような特定のメニュー コマンドの処理もできます。このようなハンドラは、CWnd クラスのクリップボード関連のメンバ関数のいずれかを呼び出して、選択されたデータ項目をクリップボードとやり取りします。

参照

参照

ビューの使い方