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 インターフェイス