Partilhar via


Classe CMFCCmdUsageCount

Rastreia a contagem de uso de mensagens do Windows, como quando o usuário seleciona um item de um menu.

Sintaxe

class CMFCCmdUsageCount : public CObject

Membros

Construtores públicos

Nome Descrição
CMFCCmdUsageCount::CMFCCmdUsageCount Construtor padrão.
CMFCCmdUsageCount::~CMFCCmdUsageCount Destruidor.

Métodos públicos

Nome Descrição
CMFCCmdUsageCount::AddCmd Incrementa em um o contador associado ao comando determinado.
CMFCCmdUsageCount::GetCount Recupera a contagem de uso associada à ID de comando especificada.
CMFCCmdUsageCount::HasEnoughInformation Determina se esse objeto coletou a quantidade mínima de dados de rastreamento.
CMFCCmdUsageCount::IsFreqeuntlyUsedCmd Determina se o comando especificado é usado com frequência.
CMFCCmdUsageCount::Reset Limpa a contagem de uso de todos os comandos.
CMFCCmdUsageCount::Serialize Lê esse objeto de um arquivo morto ou grava-o em um arquivo morto. (Substitui CObject::Serialize.)
CMFCCmdUsageCount::SetOptions Define os valores dos membros de dados da classe CMFCCmdUsageCount compartilhada.

Membros de dados

Nome Descrição
m_CmdUsage Um objeto CMap que mapeia comandos para suas contagens de uso.
m_nMinUsagePercentage O percentual mínimo de uso para um comando a ser usado com frequência.
m_nStartCount O contador inicial usado para determinar se esse objeto coletou a quantidade mínima de dados de rastreamento.
m_nTotalUsage A contagem de todos os comandos rastreados.

Comentários

A classe CMFCCmdUsageCount mapeia cada identificador de mensagem numérico do Windows para um contador inteiro sem sinal de 32 bits. CMFCToolBar usa essa classe para exibir itens da barra de ferramentas usados com frequência. Para obter mais informações sobre CMFCToolBar, confira Classe CMFCToolBar.

Você pode persistir dados da classe CMFCCmdUsageCount entre execuções do programa. Use o método CMFCCmdUsageCount::Serialize para serializar dados de membro da classe e o método CMFCCmdUsageCount::SetOptions para definir dados de membro compartilhados.

Hierarquia de herança

CObject

CMFCCmdUsageCount

Requisitos

Cabeçalho: afxcmdusagecount.h

CMFCCmdUsageCount::AddCmd

Incrementa em um o contador associado ao comando determinado.

void AddCmd(UINT uiCmd);

Parâmetros

uiCmd
[in] Especifica o contador de comandos a ser incrementado.

Comentários

Esse método adiciona uma nova entrada à estrutura de mapa de contagens de comandos, m_CmdUsage, se a entrada ainda não existir.

Este método não faz nada nos seguintes casos:

  • A estrutura da barra de ferramentas está no modo de personalização (o método CMFCToolBar::IsCustomizeMode retorna um valor diferente de zero).

  • O comando refere-se a um separador de submenu ou menu ( uiCmd é igual a 0 ou -1).

  • uiCmd refere-se a um comando padrão (a função global IsStandardCommand retorna um valor diferente de zero).

CMFCCmdUsageCount::GetCount

Recupera a contagem de uso associada à ID de comando especificada.

UINT GetCount(UINT uiCmd) const;

Parâmetros

uiCmd
[in] A ID do contador de comandos a ser recuperado.

Valor de retorno

A contagem de uso associada à ID de comando especificada.

CMFCCmdUsageCount::HasEnoughInformation

Determina se esse objeto recebeu a quantidade mínima de dados de rastreamento.

BOOL HasEnoughInformation() const;

Valor de retorno

Diferente de zero se esse objeto tiver recebido a quantidade mínima de dados de rastreamento; caso contrário, zero.

Comentários

Esse método retornará um valor diferente de zero se a contagem total, m_nTotalUsage, de todos os comandos rastreados for igual ou maior que a contagem inicial, m_nStartCount. Por padrão, a estrutura define a contagem inicial como zero. Você pode substituir esse valor usando o método CMFCCmdUsageCount::SetOptions.

Esse método é usado por CMFCMenuBar::IsShowAllCommands para determinar se todos os comandos de menu disponíveis devem ser mostrados.

CMFCCmdUsageCount::IsFreqeuntlyUsedCmd

Determina se o comando especificado é usado com frequência.

BOOL IsFreqeuntlyUsedCmd(UINT uiCmd) const;

Parâmetros

uiCmd
[in] Especifica o comando a ser verificado.

Valor de retorno

Diferente de zero se o comando for usado com frequência; caso contrário, zero.

Comentários

Esse método retornará zero se o uso total do comando, m_nTotalUsage, for zero. Caso contrário, esse método retornará diferente de zero se a porcentagem da qual o comando especificado for usado for maior que o percentual mínimo, m_nMinUsagePercentage. Por padrão, a estrutura define o percentual mínimo como 5. Você pode substituir esse valor usando o método CMFCCmdUsageCount::SetOptions. Se a porcentagem mínima for zero, esse método retornará diferente de zero se a contagem de comandos especificada for maior que zero.

CMFCToolBar::IsCommandRarelyUsed usa esse método para determinar se um comando é raramente usado.

CMFCCmdUsageCount::Reset

Limpa a contagem de uso de todos os comandos.

void Reset();

Comentários

Chame esse método para limpar todas as entradas da estrutura de mapa de contagens de comandos, m_CmdUsage, e redefinir a contagem do uso total de comandos, m_nTotalUsage, para zero.

CMFCCmdUsageCount::Serialize

Lê esse objeto de um arquivo morto ou grava-o em um arquivo morto.

virtual void Serialize(CArchive& ar);

Parâmetros

ar
[in] Um objeto CArchive do qual ou para o qual serializar.

Comentários

Esse método serializa a estrutura de mapa de contagens de comandos, m_CmdUsage, e o contador total de uso de comando, m_nTotalUsage, de ou para o arquivo especificado.

Para exemplos de serialização, confira Serialização: Como serializar um objeto.

CMFCCmdUsageCount::SetOptions

Define os valores dos membros de dados da classe CMFCCmdUsageCount compartilhada.

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

Parâmetros

nStartCount
[in] A nova contagem inicial de todos os comandos rastreados.

nMinUsagePercentage
[in] O novo percentual mínimo de uso.

Valor de retorno

TRUE se o método for bem-sucedido, FALSE se o parâmetro nMinUsagePercentage for maior ou igual a 100.

Comentários

Esse método define os membros de dados da classe CMFCCmdUsageCount compartilhada, m_nStartCount e m_nMinUsagePercentage, como nStartCount e nMinUsagePercentage, respectivamente. m_nStartCount é usado pelo método CMFCCmdUsageCount::HasEnoughInformation para determinar se esse objeto coletou a quantidade mínima de dados de rastreamento. m_nMinUsagePercentage é usado pelo método CMFCCmdUsageCount::IsFreqeuntlyUsedCmd para determinar se um determinado comando é usado com frequência.

Em builds de depuração, esse método gerará uma falha de declaração se o parâmetro nMinUsagePercentage for maior ou igual a 100.

Confira também

Gráfico da hierarquia
Classes
Classe CMFCToolBar