Класс 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, чтобы задать общие данные-члены.
Иерархия наследования
Требования
Заголовок: 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);
Параметры
ар
[in] CArchive
Объект для сериализации из или в.
Замечания
Этот метод сериализует структуру карты счетчиков команд, m_CmdUsage
а также общее использование команд, m_nTotalUsage
счетчик из указанного архива или из нее.
Примеры сериализации см. в разделе Сериализация: сериализация объекта.
CMFCCmdUsageCount::SetOptions
Задает значения элементов данных общего CMFCCmdUsageCount
класса.
static BOOL __stdcall SetOptions(
UINT nStartCount,
UINT nMinUsagePercentage);
Параметры
nStartCount
[in] Новое начальное число всех отслеживаемых команд.
nMinUsagePercentage
[in] Новый минимальный процент использования.
Возвращаемое значение
Значение TRUE, если метод выполнен успешно, значение FALSE, если параметр nMinUsagePercentage больше или равен 100.
Замечания
Этот метод задает члены данных общего CMFCCmdUsageCount
класса и m_nMinUsagePercentage
nStartCount и nMinUsagePercentagem_nStartCount
соответственно. m_nStartCount
используется методом CMFCCmdUsageCount::HasEnoughInformation , чтобы определить, собрал ли этот объект минимальный объем данных отслеживания. m_nMinUsagePercentage
используется методом CMFCCmdUsageCount::IsFreqeuntlyUsedCmd , чтобы определить, часто ли используется данная команда.
В отладке этот метод создает сбой утверждения, если параметр nMinUsagePercentage больше или равен 100.