次の方法で共有


ICommandSource インターフェイス

コマンド ソース オブジェクトからユーザー コントロールに送信されるコマンドを管理します。

構文

interface class ICommandSource

メンバー

パブリック メソッド

名前 説明
ICommandSource::AddCommandHandler コマンド ハンドラーをコマンド ソース オブジェクトに追加します。
ICommandSource::AddCommandRangeHandler コマンド ソース オブジェクトにコマンド ハンドラーのグループを追加します。
ICommandSource::AddCommandRangeUIHandler コマンド ソース オブジェクトにユーザー インターフェイス コマンド メッセージ ハンドラーのグループを追加します。
ICommandSource::AddCommandUIHandler コマンド ソース オブジェクトにユーザー インターフェイス コマンド メッセージ ハンドラーを追加します。
ICommandSource::P ostCommand 処理されるのを待たずにメッセージを投稿します。
ICommandSource::RemoveCommandHandler コマンド ソース オブジェクトからコマンド ハンドラーを削除します。
ICommandSource::RemoveCommandRangeHandler コマンド ソース オブジェクトからコマンド ハンドラーのグループを削除します。
ICommandSource::RemoveCommandRangeUIHandler コマンド ソース オブジェクトからユーザー インターフェイス コマンド メッセージ ハンドラーのグループを削除します。
ICommandSource::RemoveCommandUIHandler コマンド ソース オブジェクトからユーザー インターフェイス コマンド メッセージ ハンドラーを削除します。
ICommandSource::SendCommand メッセージを送信し、処理されるのを待ってから返します。

解説

MFC ビューでユーザー コントロールをホストすると、 CWinFormsView クラス はコマンドをルーティングし、コマンド UI メッセージをユーザー コントロールに更新して、MFC コマンド (フレーム メニュー項目やツール バー ボタンなど) を処理できるようにします。 ICommandTarget Interface を実装することで、ユーザー コントロールに ICommandSource オブジェクトへの参照を与えます。

ICommandTargetの使用方法の例については、「方法: Windows フォーム コントロールにコマンド ルーティングを追加する」を参照してください。

Windows フォームの使用方法の詳細については、「 MFC での Windows フォーム ユーザー コントロールの使用」を参照してください。

要件

Header: afxwinforms.h (アセンブリ atlmfc\lib\mfcmifc80.dll で定義)

ICommandSource::AddCommandHandler

コマンド ハンドラーをコマンド ソース オブジェクトに追加します。

void AddCommandHandler(
    unsigned int cmdID,
    CommandHandler^ cmdHandler);

パラメーター

cmdID
コマンド ID。 cmdHandler
コマンド ハンドラー メソッドのハンドル。

解説

このメソッドは、コマンド ハンドラー cmdHandler をコマンド ソース オブジェクトに追加し、ハンドラーを cmdID にマップします。 AddCommandHandler の使用方法の例については、「方法: Windows フォーム コントロールにコマンド ルーティングを追加するを参照してください。

ICommandSource::AddCommandRangeHandler

コマンド ソース オブジェクトにコマンド ハンドラーのグループを追加します。

void AddCommandRangeHandler(
    unsigned int cmdIDMin,
    unsigned int cmdIDMax,
    CommandHandler^ cmdHandler);

パラメーター

cmdIDMin
コマンド ID 範囲の先頭インデックス。 cmdIDMax
コマンド ID 範囲の終了インデックス。 cmdHandler
コマンドがマップされるメッセージ ハンドラー メソッドへのハンドル。

解説

このメソッドは、連続するコマンド ID の範囲を 1 つのメッセージ ハンドラーにマップし、コマンド ソース オブジェクトに追加します。 これは、1 つのメソッドで関連するボタンのグループを処理するために使用されます。

ICommandSource::AddCommandRangeUIHandler

コマンド ソース オブジェクトにユーザー インターフェイス コマンド メッセージ ハンドラーのグループを追加します。

void AddCommandRangeUIHandler(
    unsigned int cmdIDMin,
    unsigned int cmdIDMax,
    CommandUIHandler^ cmdUIHandler);

パラメーター

cmdIDMin
コマンド ID 範囲の先頭インデックス。 cmdIDMax
コマンド ID 範囲の終了インデックス。 cmdHandler
コマンドがマップされるメッセージ ハンドラー メソッドへのハンドル。

解説

このメソッドは、コマンド ID の連続した範囲を 1 つのユーザー インターフェイス コマンド メッセージ ハンドラーにマップし、コマンド ソース オブジェクトに追加します。 これは、1 つのメソッドで関連するボタンのグループを処理するために使用されます。

ICommandSource::AddCommandUIHandler

コマンド ソース オブジェクトにユーザー インターフェイス コマンド メッセージ ハンドラーを追加します。

void AddCommandUIHandler(
    unsigned int cmdID,
    CommandUIHandler^ cmdUIHandler);

パラメーター

cmdID
コマンド ID。 cmdUIHandler
ユーザー インターフェイス コマンド メッセージ ハンドラー メソッドへのハンドル。

解説

このメソッドは、コマンド ソース オブジェクトにユーザー インターフェイス コマンド メッセージ ハンドラー cmdHandler を追加し、ハンドラーを cmdID にマップします。

ICommandSource::P ostCommand

処理されるのを待たずにメッセージを投稿します。

void PostCommand(unsigned int command);

パラメーター

コマンド
投稿するメッセージのコマンド ID。

解説

このメソッドは、コマンドで指定された ID にマップされたメッセージを非同期的にポストします。 CWnd::P ostMessage を呼び出してメッセージをウィンドウのメッセージ キューに配置し、対応するウィンドウがメッセージを処理するのを待たずに戻ります。

ICommandSource::RemoveCommandHandler

コマンド ソース オブジェクトからコマンド ハンドラーを削除します。

void RemoveCommandHandler(unsigned int cmdID);

パラメーター

cmdID
コマンド ID。

解説

このメソッドは、コマンド ソース オブジェクトから cmdID にマップされたコマンド ハンドラーを削除します。

ICommandSource::RemoveCommandRangeHandler

コマンド ソース オブジェクトからコマンド ハンドラーのグループを削除します。

void RemoveCommandRangeUIHandler(
    unsigned int cmdIDMin,
    unsigned int cmdIDMax);

パラメーター

cmdIDMin
コマンド ID 範囲の先頭インデックス。 cmdIDMax
コマンド ID 範囲の終了インデックス。

解説

このメソッドは、cmdIDMin および cmdIDMax で指定されたコマンド ID にマップされたメッセージ ハンドラーのグループをコマンド ソース オブジェクトから削除します。

ICommandSource::RemoveCommandRangeUIHandler

コマンド ソース オブジェクトからユーザー インターフェイス コマンド メッセージ ハンドラーのグループを削除します。

void RemoveCommandRangeUIHandler(
    unsigned int cmdIDMin,
    unsigned int cmdIDMax);

パラメーター

cmdIDMin
コマンド ID 範囲の先頭インデックス。 cmdIDMax
コマンド ID 範囲の終了インデックス。

解説

このメソッドは、cmdIDMin および cmdIDMax で指定されたコマンド ID にマップされたユーザー インターフェイス コマンド メッセージ ハンドラーのグループをコマンド ソース オブジェクトから削除します。

ICommandSource::RemoveCommandUIHandler

コマンド ソース オブジェクトからユーザー インターフェイス コマンド メッセージ ハンドラーを削除します。

void RemoveCommandUIHandler(unsigned int cmdID);

パラメーター

cmdID
コマンド ID。

解説

このメソッドは、コマンド ソース オブジェクトから cmdID にマップされているユーザー インターフェイス コマンド メッセージ ハンドラーを削除します。

ICommandSource::SendCommand

メッセージを送信し、処理されるのを待ってから返します。

void SendCommand(unsigned int command);

パラメーター

コマンド
送信するメッセージのコマンド ID。

解説

このメソッドは、コマンドで指定された ID にマップされたメッセージを同期的に送信します。 CWnd::SendMessage を呼び出してメッセージをウィンドウのメッセージ キューに配置し、そのウィンドウ プロシージャがメッセージを処理するまで待機してから、戻ります。

関連項目

方法: Windows フォーム コントロールにコマンド ルーティングを追加する
ICommandTarget インターフェイス