次の方法で共有


CMFCCmdUsageCount クラス

ユーザーがメニューから項目を選択したときなど、Windows メッセージの使用状況数を追跡します。

構文

class CMFCCmdUsageCount : public CObject

メンバー

パブリック コンストラクター

名前 説明
CMFCCmdUsageCount::CMFCCmdUsageCount 既定のコンストラクターです。
CMFCCmdUsageCount::~CMFCCmdUsageCount デストラクターです。

パブリック メソッド

名前 説明
CMFCCmdUsageCount::AddCmd 指定されたコマンドに関連付けられているカウンターを 1 ずつインクリメントします。
CMFCCmdUsageCount::GetCount 指定されたコマンド ID に関連付けられている使用状況の数を取得します。
CMFCCmdUsageCount::HasEnoughInformation このオブジェクトが追跡データの最小量を収集したかどうかを判断します。
CMFCCmdUsageCount::IsFreqeuntlyUsedCmd 指定されたコマンドが頻繁に使用されるかどうかを判断します。
CMFCCmdUsageCount::Reset すべてのコマンドの使用数をクリアします。
CMFCCmdUsageCount::Serialize このオブジェクトをアーカイブから読み取るか、アーカイブに書き込みます。 ( CObject::Serializeをオーバーライドします)。
CMFCCmdUsageCount::SetOptions 共有 CMFCCmdUsageCount クラス データ メンバーの値を設定します。

データ メンバー

名前 説明
m_CmdUsage コマンドを使用状況の数にマップする CMap オブジェクト。
m_nMinUsagePercentage 頻繁に使用するコマンドの最小使用率。
m_nStartCount このオブジェクトが追跡データの最小量を収集したかどうかを判断するために使用される開始カウンター。
m_nTotalUsage 追跡されているすべてのコマンドの数。

解説

CMFCCmdUsageCount クラスは、各数値 Windows メッセージ識別子を 32 ビット符号なし整数カウンターにマップします。 CMFCToolBar では、このクラスを使用して、頻繁に使用されるツール バー項目を表示します。 CMFCToolBarの詳細については、「CMFCToolBar クラスを参照してください。

プログラムの実行間 CMFCCmdUsageCount クラス データを保持できます。 CMFCCmdUsageCount::Serialize メソッドを使用してクラス メンバー データをシリアル化し、CMFCCmdUsageCount::SetOptions メソッドを使用して共有メンバー データを設定します。

継承階層

CObject

CMFCCmdUsageCount

要件

Header: afxcmdusagecount.h

CMFCCmdUsageCount::AddCmd

指定されたコマンドに関連付けられているカウンターを 1 ずつインクリメントします。

void AddCmd(UINT uiCmd);

パラメーター

uiCmd
[in]インクリメントするコマンド カウンターを指定します。

解説

このメソッドは、エントリがまだ存在しない場合は、 m_CmdUsageコマンドカウントのマップ構造に新しいエントリを追加します。

このメソッドは、次の場合には何も行いません。

  • ツール バー フレームワークはカスタマイズ モードです ( CMFCToolBar::IsCustomizeMode メソッドは 0 以外の値を返します)。

  • このコマンドは、サブメニューまたはメニュー区切り記号 ( uiCmd 0 または -1) を参照します。

  • uiCmd は標準コマンドを参照します (グローバル IsStandardCommand 関数は 0 以外の値を返します)。

CMFCCmdUsageCount::GetCount

指定されたコマンド ID に関連付けられている使用状況の数を取得します。

UINT GetCount(UINT uiCmd) const;

パラメーター

uiCmd
[in]取得するコマンド カウンターの ID。

戻り値

指定されたコマンド ID に関連付けられている使用状況の数。

CMFCCmdUsageCount::HasEnoughInformation

このオブジェクトが追跡データの最小量を受け取ったかどうかを判断します。

BOOL HasEnoughInformation() const;

戻り値

このオブジェクトが追跡データの最小量を受け取った場合は 0 以外。それ以外の場合は 0。

解説

このメソッドは、すべての追跡対象コマンドの合計カウント ( m_nTotalUsage) が初期カウント ( m_nStartCount) 以上の場合、0 以外の値を返します。 既定では、フレームワークは初期カウント 0 を設定します。 この値は、 CMFCCmdUsageCount::SetOptions メソッドを使用してオーバーライドできます。

このメソッドは、 CMFCMenuBar::IsShowAllCommands で使用可能なすべてのメニュー コマンドを表示するかどうかを決定するために使用されます。

CMFCCmdUsageCount::IsFreqeuntlyUsedCmd

指定されたコマンドが頻繁に使用されるかどうかを判断します。

BOOL IsFreqeuntlyUsedCmd(UINT uiCmd) const;

パラメーター

uiCmd
[in]チェックするコマンドを指定します。

戻り値

コマンドが頻繁に使用される場合は 0 以外。それ以外の場合は 0。

解説

コマンドの合計使用量 ( m_nTotalUsage) が 0 の場合、このメソッドは 0 を返します。 それ以外の場合、このメソッドは、指定したコマンドが使用される割合が最小パーセンテージ ( m_nMinUsagePercentage) より大きい場合、0 以外の値を返します。 既定では、フレームワークは最小パーセンテージを 5 に設定します。 この値は、 CMFCCmdUsageCount::SetOptions メソッドを使用してオーバーライドできます。 最小パーセンテージが 0 の場合、指定したコマンド数が 0 より大きい場合、このメソッドは 0 以外の値を返します。

CMFCToolBar::IsCommandRarelyUsed では、このメソッドを使用して、コマンドがほとんど使用されないかどうかを判断します。

CMFCCmdUsageCount::Reset

すべてのコマンドの使用数をクリアします。

void Reset();

解説

このメソッドを呼び出して、コマンド数、 m_CmdUsageのマップ構造からすべてのエントリをクリアし、コマンド使用量の合計 ( m_nTotalUsageカウンター) を 0 にリセットします。

CMFCCmdUsageCount::Serialize

このオブジェクトをアーカイブから読み取るか、アーカイブに書き込みます。

virtual void Serialize(CArchive& ar);

パラメーター

ar
[in]シリアル化の対象となる CArchive オブジェクト。

解説

このメソッドは、コマンド数、 m_CmdUsageのマップ構造、および指定したアーカイブとの間のコマンド使用量、 m_nTotalUsage、カウンターの合計をシリアル化します。

シリアル化の例については、「 シリアル化: オブジェクトのシリアル化」を参照してください。

CMFCCmdUsageCount::SetOptions

共有 CMFCCmdUsageCount クラス データ メンバーの値を設定します。

static BOOL __stdcall SetOptions(
    UINT nStartCount,
    UINT nMinUsagePercentage);

パラメーター

nStartCount
[in]追跡されているすべてのコマンドの新しい初期数。

nMinUsagePercentage
[in]新しい最小使用率。

戻り値

メソッドが成功した場合は TRUE、 nMinUsagePercentage パラメーターが 100 以上の場合は FALSE。

解説

このメソッドは、共有 CMFCCmdUsageCount クラス のデータ メンバー m_nStartCountm_nMinUsagePercentage をそれぞれ nStartCount および nMinUsagePercentage に設定します。 m_nStartCount は、 CMFCCmdUsageCount::HasEnoughInformation メソッドによって使用され、このオブジェクトが最小量の追跡データを収集したかどうかを判断します。 m_nMinUsagePercentage は、 CMFCCmdUsageCount::IsFreqeuntlyUsedCmd メソッドによって使用され、特定のコマンドが頻繁に使用されるかどうかを判断します。

Debug ビルドでは、このメソッドは、 nMinUsagePercentage パラメーターが 100 以上の場合にアサーション エラーを生成します。

関連項目

階層図
クラス
CMFCToolBar クラス