共用方式為


CMFCCmdUsageCount 類別

追蹤 Windows 訊息的使用計數,例如當使用者從功能表中選取專案時。

語法

class CMFCCmdUsageCount : public CObject

成員

公用建構函式

名稱 描述
CMFCCmdUsageCount::CMFCCmdUsageCount 預設建構函式。
CMFCCmdUsageCount::~CMFCCmdUsageCount 解構函式。

公用方法

名稱 描述
CMFCCmdUsageCount::AddCmd 遞增一個與指定命令相關聯的計數器。
CMFCCmdUsageCount::GetCount 擷取與指定命令標識符相關聯的使用計數。
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

需求

標頭: afxcmdusagecount.h

CMFCCmdUsageCount::AddCmd

遞增一個與指定命令相關聯的計數器。

void AddCmd(UINT uiCmd);

參數

uiCmd
[in]指定要遞增的命令計數器。

備註

如果專案不存在, m_CmdUsage這個方法會將新的專案新增至命令計數的對應結構。

此方法在下列情況下不會執行任何動作:

  • 工具列架構處於自定義模式( CMFCToolBar::IsCustomizeMode 方法會傳回非零值)。

  • 此命令是指子功能表或功能表分隔符( uiCmd 等於 0 或 -1)。

  • uiCmd 是指標準命令(全域 IsStandardCommand 函式會傳回非零值)。

CMFCCmdUsageCount::GetCount

擷取與指定命令標識符相關聯的使用計數。

UINT GetCount(UINT uiCmd) const;

參數

uiCmd
[in]要擷取之命令計數器的標識碼。

傳回值

與指定命令標識碼相關聯的使用計數。

CMFCCmdUsageCount::HasEnoughInformation

判斷此物件是否已收到最小數量的追蹤數據。

BOOL HasEnoughInformation() const;

傳回值

如果這個物件已收到最小數量的追蹤數據,則為非零;否則為 0。

備註

如果所有追蹤命令的總計數 m_nTotalUsage等於或大於初始計數 m_nStartCount,這個方法會傳回非零值。 根據預設,架構會設定初始計數 0。 您可以使用 CMFCCmdUsageCount::SetOptions 方法來覆寫此值

CMFCMenuBar::IsShowAllCommands 會使用此方法來判斷是否要顯示所有可用的功能表命令。

CMFCCmdUsageCount::IsFreqeuntlyUsedCmd

判斷指定的命令是否經常使用。

BOOL IsFreqeuntlyUsedCmd(UINT uiCmd) const;

參數

uiCmd
[in]指定要檢查的命令。

傳回值

如果命令經常使用,則為非零;否則為 0。

備註

如果命令使用量總計為 0, m_nTotalUsage這個方法會傳回 0。 否則,如果使用指定命令的百分比大於最小百分比, m_nMinUsagePercentage則這個方法會傳回非零。 根據預設,架構會將最小百分比設定為5。 您可以使用 CMFCCmdUsageCount::SetOptions 方法來覆寫此值。 如果最小百分比為 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 設定為 nStartCountnMinUsagePercentagem_nStartCountCMFCCmdUsageCount::HasEnoughInformation 方法會用來判斷此物件是否已收集追蹤數據的最小數量。 m_nMinUsagePercentageCMFCCmdUsageCount::IsFreqeuntlyUsedCmd 方法會用來判斷指定的命令是否經常使用。

在 [偵錯] 中,如果 nMinUsagePercentage 參數大於或等於 100,這個方法會產生判斷提示失敗。

另請參閱

階層架構圖表
類別
CMFCToolBar 類別