次の方法で共有


ICommandSource Interface

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

Syntax

interface class ICommandSource

Members

Public Methods

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

Remarks

When you host a user control in an MFC View, CWinFormsView Class routes commands and update command UI messages to the user control to allow it to handle MFC commands (for example, frame menu items and toolbar buttons). By implementing ICommandTarget Interface, you give the user control a reference to the ICommandSource object.

の使用方法の例については、「ICommandTarget」を参照してください。

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

Requirements

Header: afxwinforms.h (defined in assembly atlmfc\lib\mfcmifc80.dll)

ICommandSource::AddCommandHandler

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

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

Parameters

cmdID
コマンド ID。

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

Remarks

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

ICommandSource::AddCommandRangeHandler

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

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

Parameters

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

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

cmdHandler
コマンドがマップされるメッセージ ハンドラー メソッドへのハンドル。

Remarks

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

ICommandSource::AddCommandRangeUIHandler

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

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

Parameters

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

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

cmdHandler
コマンドがマップされるメッセージ ハンドラー メソッドへのハンドル。

Remarks

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

ICommandSource::AddCommandUIHandler

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

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

Parameters

cmdID
コマンド ID。

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

Remarks

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

ICommandSource::PostCommand

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

void PostCommand(unsigned int command);

Parameters

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

Remarks

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

ICommandSource::RemoveCommandHandler

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

void RemoveCommandHandler(unsigned int cmdID);

Parameters

cmdID
コマンド ID。

Remarks

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

ICommandSource::RemoveCommandRangeHandler

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

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

Parameters

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

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

Remarks

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

ICommandSource::RemoveCommandRangeUIHandler

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

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

Parameters

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

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

Remarks

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

ICommandSource::RemoveCommandUIHandler

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

void RemoveCommandUIHandler(unsigned int cmdID);

Parameters

cmdID
コマンド ID。

Remarks

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

ICommandSource::SendCommand

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

void SendCommand(unsigned int command);

Parameters

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

Remarks

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

See also

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