Classe CMFCKeyMapDialog

A classe CMFCKeyMapDialog dá suporte a um controle que mapeia comandos para teclas no teclado.

Sintaxe

class CMFCKeyMapDialog : public CDialogEx

Membros

Construtores públicos

Nome Descrição
CMFCKeyMapDialog::CMFCKeyMapDialog Constrói um objeto CMFCKeyMapDialog.

Métodos públicos

Nome Descrição
CMFCKeyMapDialog::DoModal Exibe uma caixa de diálogo de mapeamento de teclado.

Métodos protegidos

Nome Descrição
CMFCKeyMapDialog::FormatItem Chamado pela estrutura para criar uma cadeia de caracteres que descreve um mapeamento de teclas. Por padrão, a cadeia de caracteres contém o nome do comando, as teclas de atalho usadas e a descrição da tecla de atalho.
CMFCKeyMapDialog::GetCommandKeys Recupera uma cadeia de caracteres que contém uma lista de teclas de atalho associadas ao comando especificado.
CMFCKeyMapDialog::OnInsertItem Chamado pela estrutura antes de um novo item ser inserido no controle de lista interno que dá suporte ao controle de mapeamento de teclado.
CMFCKeyMapDialog::OnPrintHeader Chamado pela estrutura para imprimir o cabeçalho do mapa do teclado em uma nova página.
CMFCKeyMapDialog::OnPrintItem Chamado pela estrutura para imprimir um item do mapeamento de teclado.
CMFCKeyMapDialog::OnSetColumns Chamado pela estrutura para definir legendas para as colunas no controle de lista interno que dá suporte ao controle de mapeamento de teclado.
CMFCKeyMapDialog::PrintKeyMap Chamado pela estrutura quando um usuário clica no botão Imprimir.
CMFCKeyMapDialog::SetColumnsWidth Chamado pela estrutura para definir a largura das colunas no controle de lista interno que dá suporte ao controle de mapeamento de teclado.

Comentários

Use a classe CMFCKeyMapDialog para implementar uma caixa de diálogo redimensionável de mapeamento de teclado. A caixa de diálogo usa um controle de exibição de lista para exibir atalhos de teclado e seus comandos associados.

Para usar a classe CMFCKeyMapDialog em um aplicativo, passe um ponteiro para a janela do quadro principal como um parâmetro para o construtor CMFCKeyMapDialog. Em seguida, chame o método DoModal para iniciar uma caixa de diálogo modal.

Hierarquia de herança

CObject

CCmdTarget

CWnd

CDialog

CDialogEx

CMFCKeyMapDialog

Requisitos

Cabeçalho: afxkeymapdialog.h

CMFCKeyMapDialog::CMFCKeyMapDialog

Constrói um objeto CMFCKeyMapDialog.

CMFCKeyMapDialog(
    CFrameWnd* pWndParentFrame,
    BOOL bEnablePrint=FALSE);

Parâmetros

pWndParentFrame
[in] Um ponteiro para a janela pai do objeto CMFCKeyMapDialog.

bEnablePrint
[in] TRUE se a lista de teclas de aceleração puder ser impressa; caso contrário, FALSE. O padrão é FALSE.

Comentários

Exemplo

O exemplo a seguir demonstra como construir um objeto da classe CMFCKeyMapDialog. Este exemplo faz parte do Exemplo de demonstração do Visual Studio.

// this points to a CMainFrame class which extends the 
// CMDIFrameWndEx class
CMFCKeyMapDialog dlg(this, TRUE /* Enable Print */);

CMFCKeyMapDialog::DoModal

Exibe uma caixa de diálogo de mapeamento de teclado.

virtual INT_PTR DoModal();

Valor de retorno

Um inteiro com sinal, como IDOK ou IDCANCEL, que é passado para o método CDialog::EndDialog. O método, por sua vez, fecha a caixa de diálogo. Para obter mais informações, consulte CDialog::DoModal.

Comentários

A caixa de diálogo de mapeamento de teclado permite selecionar e atribuir teclas de aceleração a várias categorias de comandos. Além disso, você pode copiar as teclas de aceleração selecionadas e sua descrição para a área de transferência.

CMFCKeyMapDialog::FormatItem

Chamado pela estrutura para criar uma cadeia de caracteres que descreve um mapeamento de teclas. Por padrão, a cadeia de caracteres contém o nome do comando, as teclas de atalho usadas e a descrição da tecla de atalho.

virtual CString FormatItem(int nItem) const;

Parâmetros

nItem
[in] O índice baseado em zero de um item na lista interna dos mapeamentos de teclas.

Valor de retorno

Um objeto CString que contém o texto do item formatado.

Comentários

CMFCKeyMapDialog::GetCommandKeys

Recupera um valor de cadeia de caracteres. A cadeia de caracteres contém uma lista de teclas de atalho associadas a um comando especificado.

virtual CString GetCommandKeys(UINT uiCmdID) const;

Parâmetros

uiCmdID
[in] Uma ID de comando.

Valor de retorno

Uma lista delimitada por ponto e vírgula (';') de teclas de atalho associadas ao comando especificado.

Comentários

CMFCKeyMapDialog::OnInsertItem

Chamado pela estrutura antes de um novo item ser inserido em um controle de lista interno que dá suporte ao controle de mapeamento de teclado.

virtual void OnInsertItem(
    CMFCToolBarButton* pButton,
    int nItem);

Parâmetros

pButton
[in] Um ponteiro para um botão da barra de ferramentas que é usado para mapear uma combinação de teclas do teclado para um nome de comando e uma descrição. O item do mapa de teclas é armazenado em um controle de lista interno.

nItem
[in] Um índice baseado em zero que especifica onde inserir o novo item de mapa de teclado no controle de lista interno.

Comentários

CMFCKeyMapDialog::OnPrintHeader

Chamado pela estrutura para imprimir o cabeçalho do mapa do teclado em uma nova página.

virtual int OnPrintHeader(
    CDC& dc,
    int nPage,
    int cx) const;

Parâmetros

dc
[in] O contexto do dispositivo para a impressora.

nPage
[in] O número da página a ser impressa.

cx
[in] O deslocamento horizontal do cabeçalho, em pixels.

Valor de retorno

Se for bem-sucedido, a altura do texto impresso. Para obter mais informações, consulte a seção Valor retornado de CDC::DrawText.

Comentários

A estrutura usa esse método para imprimir o mapa do teclado. Por padrão, esse método imprime o número da página, o nome do aplicativo e o título da caixa de diálogo.

CMFCKeyMapDialog::OnPrintItem

Chamado pela estrutura para imprimir um item do mapeamento de teclado.

virtual int OnPrintItem(
    CDC& dc,
    int nItem,
    int y,
    int cx,
    BOOL bCalcHeight) const;

Parâmetros

dc
[in] O contexto do dispositivo da impressora.

nItem
[in] O índice de base zero do item a ser impresso.

y
[in] O deslocamento vertical entre a parte superior da página e a posição do item.

cx
[in] O deslocamento horizontal entre o lado esquerdo da página e a posição do item.

bCalcHeight
[in] TRUE para calcular a melhor altura para o item de impressão; FALSE para truncar o item de impressão para que ele se ajuste ao espaço padrão.

Valor de retorno

A altura do item impresso.

Comentários

A estrutura chama esse método para imprimir um item da caixa de diálogo do mapa de teclas. Por padrão, esse método imprime o nome do comando do item, as teclas de atalho e a descrição do comando.

CMFCKeyMapDialog::OnSetColumns

Chamado pela estrutura para definir legendas para as colunas no controle de lista interno que dá suporte ao controle de mapeamento de teclado.

virtual void OnSetColumns();

Comentários

Por padrão, esse método obtém as legendas das colunas de três recursos. A legenda da coluna de comando é de IDS_AFXBARRES_COMMAND, a legenda da coluna de tecla é de IDS_AFXBARRES_KEYS e a legenda da coluna de descrição é de IDS_AFXBARRES_DESCRIPTION.

CMFCKeyMapDialog::PrintKeyMap

Chamado pela estrutura quando um usuário clica no botão Imprimir.

virtual void PrintKeyMap();

Comentários

O método PrintKeyMap imprime o mapa de teclas. Ele inicia um novo trabalho de impressão e chama repetidamente os métodos CMFCKeyMapDialog::OnPrintHeader e CMFCKeyMapDialog::OnPrintItem até que todos os mapeamentos de teclas sejam impressos.

CMFCKeyMapDialog::SetColumnsWidth

Chamado pela estrutura para definir a largura das colunas no controle de lista interno que dá suporte ao controle de mapeamento de teclado.

virtual void SetColumnsWidth();

Comentários

Esse método define as colunas do controle de lista interna com larguras padrão. Primeiro, a largura da coluna de teclas de atalho é calculada. Em seguida, um terço da largura restante é alocada para a coluna de comando e os dois terços restantes são alocados para a coluna de descrição.

Confira também

Gráfico da hierarquia
Classes
Classe CKeyboardManager