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


Класс 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);

Параметры

ар
[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.

См. также

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