Поделиться через


Класс CMFCCmdUsageCount

Замечание

Библиотека классов Microsoft Foundation (MFC) продолжает поддерживаться. Однако мы больше не добавляем функции или обновляем документацию.

Отслеживает количество сообщений 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);

Параметры

ар
[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_nStartCountm_nMinUsagePercentage и nMinUsagePercentage соответственно. m_nStartCount используется методом CMFCCmdUsageCount::HasEnoughInformation , чтобы определить, собрал ли этот объект минимальный объем данных отслеживания. m_nMinUsagePercentage используется методом CMFCCmdUsageCount::IsFreqeuntlyUsedCmd , чтобы определить, часто ли используется данная команда.

В отладке этот метод создает сбой утверждения, если параметр nMinUsagePercentage больше или равен 100.

См. также

Диаграмма иерархии
Классы
Класс CMFCToolBar