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
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.