次の方法で共有


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

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

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

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

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

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

  • キーストローク

  • メニュー コマンド

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

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

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

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

参照

参照

ビューの使い方