Share via


CMouseManager クラス

ユーザーがそのビュー内をダブルクリックしたときに、別のコマンドを特定 の CView オブジェクトに関連付けることができます。

構文

class CMouseManager : public CObject

メンバー

パブリック メソッド

名前 説明
CMouseManager::AddView CView[カスタマイズ] ダイアログ ボックスにオブジェクトを追加します。 [ カスタマイズ ] ダイアログ ボックスを使用すると、表示されている各ビューのコマンドにダブルクリックを関連付けることができます。
CMouseManager::GetViewDblClickCommand 指定されたビュー内でユーザーがダブルクリックしたときに実行されるコマンドを返します。
CMouseManager::GetViewIconId 指定されたビュー ID に関連付けられているアイコンを返します。
CMouseManager::GetViewIdByName 指定されたビュー名に関連付けられているビュー ID を返します。
CMouseManager::GetViewNames 追加されたすべてのビュー名の一覧を取得します。
CMouseManager::LoadState CMouseManager Windows レジストリから状態を読み込みます。
CMouseManager::SaveState Windows レジストリに CMouseManager 状態を書き込みます。
CMouseManager::SetCommandForDblClk 指定されたコマンドと指定されたビューを関連付けます。

解説

クラスメインCMouseManagerオブジェクトのCViewコレクションが含まれます。 各ビューは、名前と ID によって識別されます。 これらのビューは、[カスタマイズ] ダイアログ ボックスに表示されます。 ユーザーは、[カスタマイズ] ダイアログ ボックスを使用して、任意のビューに関連付けられているコマンドを変更できます。 関連付けられたコマンドは、ユーザーがそのビューをダブルクリックしたときに実行されます。 コーディングの観点からこれをサポートするには、WM_LBUTTONDBLCLK メッセージを処理し、そのCViewオブジェクトのコードで CWinAppEx::OnViewDoubleClick 関数を呼び出す必要があります。

オブジェクトは手動で CMouseManager 作成しないでください。 これは、アプリケーションのフレームワークによって作成されます。 また、ユーザーがアプリケーションを終了すると、自動的に破棄されます。 アプリケーションのマウス マネージャーへのポインターを取得するには、CWinAppEx::GetMouseManager を呼び出 します

継承階層

CObject

CMouseManager

必要条件

ヘッダー: afxmousemanager.h

CMouseManager::AddView

CView オブジェクトを CMouseManager クラス登録して、カスタム マウス動作をサポートします。

BOOL AddView(
    int iViewId,
    UINT uiViewNameResId,
    UINT uiIconId = 0);

BOOL AddView(
    int iId,
    LPCTSTR lpszViewName,
    UINT uiIconId = 0);

パラメーター

iViewId
[in]ビュー ID。

uiViewNameResId
[in]ビュー名を参照するリソース文字列 ID。

uiIconId
[in]ビュー アイコン ID。

Iid
[in]ビュー ID。

lpszViewName
[in]ビュー名。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

カスタム マウス動作をサポートするには、ビューをオブジェクトに登録する CMouseManager 必要があります。 クラスから CView 派生したオブジェクトは、マウス マネージャーに登録できます。 ビューに関連付けられている文字列とアイコンは、[カスタマイズ] ダイアログ ボックスの [マウス] タブに表示されます

iViewId や iIdなどのビュー ID を作成してメインする必要があります。

カスタム マウス動作を提供する方法の詳細については、「キーボードとマウスのカスタマイズ」を参照してください

次の例では、クラスのメソッドとメソッドを使用CWinAppEx::GetMouseManagerしてオブジェクトへのCMouseManagerポインターを取得するAddView方法をCMouseManager示します。 このコード スニペットは、State Collection サンプル一部です。

GetMouseManager()->AddView(IDR_MAINFRAME, _T("My view"), IDR_MAINFRAME);

CMouseManager::GetViewDblClickCommand

指定されたビュー内でユーザーがダブルクリックしたときに実行されるコマンドを返します。

UINT GetViewDblClickCommand(int iId) const;

パラメーター

Iid
[in]ビュー ID。

戻り値

ビューがコマンドに関連付けられている場合のコマンド識別子。それ以外の場合は 0。

CMouseManager::GetViewIconId

ビュー ID に関連付けられているアイコンを取得します。

UINT GetViewIconId(int iViewId) const;

パラメーター

iViewId
[in]ビュー ID。

戻り値

成功した場合のアイコン リソース識別子。それ以外の場合は 0。

解説

CMouseManager::AddView を使用してビューが最初に登録されていない場合、このメソッドは失敗します。

CMouseManager::GetViewIdByName

ビュー名に関連付けられているビュー ID を取得します。

int GetViewIdByName(LPCTSTR lpszName) const;

パラメーター

lpszName
[in]ビュー名。

戻り値

成功した場合のビュー ID。それ以外の場合は 0。

解説

このメソッドは、CMouseManager::AddView を使用して 登録されたビューを検索します

CMouseManager::GetViewNames

登録されているすべてのビュー名の一覧を取得します。

void GetViewNames(CStringList& listOfNames) const;

パラメーター

listOfNames
[out]オブジェクトへの CStringList 参照。

解説

このメソッドは、CMouseManager::AddView を使用して登録されたすべてのビューの名前をパラメーターに入力しますlistOfNames

CMouseManager::LoadState

レジストリから CMouseManager クラス状態を読み込みます。

BOOL LoadState(LPCTSTR lpszProfileName = NULL);

パラメーター

lpszProfileName
[in]レジストリ キーのパス。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

レジストリから読み込まれる状態情報には、登録済みのビュー、ビュー識別子、および関連するコマンドが含まれます。 パラメーター lpszProfileName が NULL の場合、この関数は、CWinAppEx クラスによって制御される既定のレジストリの場所からデータを読み込みますCMouseManager

ほとんどの場合、この関数を直接呼び出す必要はありません。 これは、ワークスペース初期化プロセスの一部として呼び出されます。 ワークスペースの初期化プロセスの詳細については、「CWinAppEx::LoadState」を参照してください

CMouseManager::SaveState

CMouseManager クラスの状態をレジストリに書き込みます。

BOOL SaveState(LPCTSTR lpszProfileName = NULL);

パラメーター

lpszProfileName
[in]レジストリ キーのパス。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

レジストリに書き込まれる状態情報には、登録されているすべてのビュー、ビュー識別子、および関連するコマンドが含まれます。 パラメーター lpszProfileName が NULL の場合、この関数は、CWinAppEx クラスによって制御される既定のレジストリの場所にデータを書き込みますCMouseManager

ほとんどの場合、この関数を直接呼び出す必要はありません。 これは、ワークスペースのシリアル化プロセスの一部として呼び出されます。 ワークスペースのシリアル化プロセスの詳細については、「CWinAppEx::SaveState」を参照してください

CMouseManager::SetCommandForDblClk

カスタム コマンドを、マウス マネージャーに最初に登録されたビューに関連付けます。

void SetCommandForDblClk(
    int iViewId,
    UINT uiCmd);

パラメーター

iViewId
[in]ビュー識別子。

Uicmd
[in]コマンド識別子。

解説

カスタム コマンドをビューに関連付けるには、まず CMouseManager::AddView を使用してビューを登録する必要があります。 このメソッドには AddView 、入力パラメーターとしてビュー識別子が必要です。 ビューを登録したら、指定したのと同じビュー識別子入力パラメーターを使用してAddView呼び出CMouseManager::SetCommandForDblClkすことができます。 その後、ユーザーが登録済みビューでマウスをダブルクリックすると、アプリケーションは uiCmd で 示されるコマンドを実行します。 カスタム マウスの動作をサポートするには、マウス マネージャーに登録されているビューをカスタマイズする必要もあります。 カスタム マウス動作の詳細については、「キーボードとマウスのカスタマイズ」を参照してください

uiCmd が 0 に設定されている場合、指定したビューはコマンドに関連付けされなくなります。

関連項目

階層図
クラス
CWinAppEx クラス
キーボードとマウスのカスタマイズ