Partilhar via


Classe CHotKeyCtrl

Fornece a funcionalidade do controle de tecla de atalho comum do Windows.

Sintaxe

class CHotKeyCtrl : public CWnd

Membros

Construtores públicos

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

Métodos públicos

Nome Descrição
CHotKeyCtrl::Create Cria um controle de tecla de atalho e o anexa a um objeto CHotKeyCtrl.
CHotKeyCtrl::CreateEx Cria um controle de tecla de atalho com os estilos estendidos especificados do Windows e o anexa a um objeto CHotKeyCtrl.
CHotKeyCtrl::GetHotKey Recupera o código de tecla virtual e os sinalizadores de modificadores de uma tecla de atalho de um controle de tecla de atalho.
CHotKeyCtrl::GetHotKeyName Recupera o nome da tecla, no conjunto de caracteres local, atribuído a uma tecla de atalho.
CHotKeyCtrl::GetKeyName Recupera o nome da tecla, no conjunto de caracteres local, atribuído ao código de tecla virtual especificado.
CHotKeyCtrl::SetHotKey Define a combinação de teclas de atalho para um controle de tecla de atalho.
CHotKeyCtrl::SetRules Define as combinações inválidas e a combinação de modificador padrão para um controle de tecla de atalho.

Comentários

Um "controle de tecla de atalho" é uma janela que permite que o usuário crie uma tecla de atalho. Uma "tecla de atalho" é uma combinação de teclas que o usuário pode pressionar para executar uma ação rapidamente. (Por exemplo, um usuário pode criar uma tecla de atalho que ativa uma determinada janela e a coloca no topo da ordem Z.) O controle de tecla de atalho exibe as escolhas do usuário e garante que o usuário selecione uma combinação de teclas válida.

Esse controle (e, portanto, a classe CHotKeyCtrl) está disponível apenas para programas em execução no Windows 95/98 e Windows NT versão 3.51 e posteriores.

Quando o usuário tiver escolhido uma combinação de teclas, o aplicativo poderá recuperar a combinação de teclas especificada do controle e usar a mensagem WM_SETHOTKEY para configurar a tecla de atalho no sistema. Sempre que o usuário pressiona a tecla de atalho depois disso, de qualquer parte do sistema, a janela especificada no WM_SETHOTKEY mensagem recebe uma mensagem WM_SYSCOMMAND especificando SC_HOTKEY. Essa mensagem ativa a janela que a recebe. A tecla de atalho permanecerá válida até que o aplicativo que chamou WM_SETHOTKEY seja encerrado.

Esse mecanismo é diferente do suporte a tecla de atalho que depende da mensagem WM_HOTKEY e das funções Windows RegisterHotKey e UnregisterHotKey.

Para obter mais informações sobre como usar CHotKeyCtrl, confira Controles e Como usar CHotKeyCtrl.

Hierarquia de herança

CObject

CCmdTarget

CWnd

CHotKeyCtrl

Requisitos

Cabeçalho: afxcmn.h

CHotKeyCtrl::CHotKeyCtrl

Constrói um objeto CHotKeyCtrl.

CHotKeyCtrl();

CHotKeyCtrl::Create

Cria um controle de tecla de atalho e o anexa a um objeto CHotKeyCtrl.

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parâmetros

dwStyle
Especifica o estilo do controle de tecla de atalho. Aplique qualquer combinação de estilos de controle. Confira Estilos de controle comuns no SDK do Windows para obter mais informações.

rect
Especifica o tamanho e a posição do controle de tecla de atalho. Pode ser um objeto CRect ou uma estrutura RECT.

pParentWnd
Especifica a janela pai do controle de tecla de atalho, geralmente um CDialog. Não pode ser NULL.

Nid
Especifica a ID do controle de tecla de atalho.

Valor de retorno

Se a inicialização foi bem-sucedida, é diferente de zero; caso contrário, 0.

Comentários

Um objeto CHotKeyCtrl é construído em duas etapas. Primeiro, chame o construtor e, em seguida, chame Create, que cria o controle de tecla de atalho e o anexa ao objeto CHotKeyCtrl.

Se você quiser usar estilos de janela estendidos com seu controle, chame CreateEx em vez de Create.

CHotKeyCtrl::CreateEx

Chame essa função para criar um controle (uma janela filho) e associá-lo ao objeto CHotKeyCtrl.

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parâmetros

dwExStyle
Especifica o estilo estendido do controle que está sendo criado. Para obter uma lista de estilos estendidos do Windows, confira o parâmetro dwExStyle para CreateWindowEx no SDK do Windows.

dwStyle
Especifica o estilo do controle de tecla de atalho. Aplique qualquer combinação de estilos de controle. Confira Estilos de controle comuns no SDK do Windows para obter mais informações.

rect
Uma referência a uma estrutura RECT que descreve o tamanho e a posição da janela a ser criada, em coordenadas do cliente de pParentWnd.

pParentWnd
Um ponteiro para a janela que é pai do controle.

Nid
A ID da janela filho do controle.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

Use CreateEx em vez de Criar para aplicar estilos estendidos do Windows, especificados pelo prefácio WS_EX_ de estilos estendidos do Windows.

CHotKeyCtrl::GetHotKey

Recupera o código de tecla virtual e os sinalizadores de modificadores de um atalho de teclado de um controle de tecla de atalho.

DWORD GetHotKey() const;

void GetHotKey(
    WORD& wVirtualKeyCode,
    WORD& wModifiers) const;

Parâmetros

wVirtualKeyCode
[out] Código de tecla virtual do atalho de teclado. Para obter uma lista de códigos de tecla virtual padrão, consulte Winuser.h.

wModifiers
[out] Uma combinação bit a bit (OR) de sinalizadores que indicam as teclas modificadoras no atalho do teclado.

Os sinalizadores de modificador são os seguintes:

Sinalizador Tecla correspondente
HOTKEYF_ALT tecla ALT
HOTKEYF_CONTROL Tecla CTRL
HOTKEYF_EXT Tecla estendida
HOTKEYF_SHIFT Tecla SHIFT

Valor de retorno

No primeiro método sobrecarregado, um DWORD que contém o código de tecla virtual e os sinalizadores de modificador. O byte de baixa ordem da palavra de ordem baixa contém o código de tecla virtual, o byte de ordem alta da palavra de baixa ordem contém os sinalizadores de modificador e a palavra de ordem alta é zero.

Comentários

O código de tecla virtual e as teclas modificadoras definem juntos o atalho de teclado.

CHotKeyCtrl::GetHotKeyName

Chame essa função membro para obter o nome localizado da tecla de atalho.

CString GetHotKeyName() const;

Valor de retorno

O nome localizado da tecla de atalho selecionada no momento. Se não houver nenhuma tecla de atalho selecionada, GetHotKeyName retornará uma cadeia de caracteres vazia.

Comentários

O nome que essa função membro retorna vem do driver de teclado. Você pode instalar um driver de teclado não localizado em uma versão localizada do Windows e vice-versa.

CHotKeyCtrl::GetKeyName

Chame essa função membro para obter o nome localizado da tecla atribuída a um código de tecla virtual especificado.

static CString GetKeyName(
    UINT vk,
    BOOL fExtended);

Parâmetros

vk
O código de tecla virtual.

fExtended
Se o código de tecla virtual for uma tecla estendida, TRUE; caso contrário, FALSE.

Valor de retorno

O nome localizado da tecla especificada pelo parâmetro vk. Se a tecla não tiver um nome mapeado, GetKeyName retornará uma cadeia de caracteres vazia.

Comentários

O nome da tecla que essa função retorna vem do driver de teclado, para que você possa instalar um driver de teclado não localizado em uma versão localizada do Windows e vice-versa.

Exemplo

CString str;
str = CHotKeyCtrl::GetKeyName(VK_CONTROL, FALSE);
// str is now "Ctrl", or the localized equivalent.

CHotKeyCtrl::SetHotKey

Define o atalho de teclado para um controle de teclas de atalho.

void SetHotKey(
    WORD wVirtualKeyCode,
    WORD wModifiers);

Parâmetros

wVirtualKeyCode
[in] Código de tecla virtual do atalho de teclado. Para obter uma lista de códigos de tecla virtual padrão, consulte Winuser.h.

wModifiers
[in] Uma combinação bit a bit (OR) de sinalizadores que indicam as teclas modificadoras no atalho do teclado.

Os sinalizadores de modificador são os seguintes:

Sinalizador Tecla correspondente
HOTKEYF_ALT tecla ALT
HOTKEYF_CONTROL Tecla CTRL
HOTKEYF_EXT Tecla estendida
HOTKEYF_SHIFT Tecla SHIFT

Comentários

O código de tecla virtual e as teclas modificadoras definem juntos o atalho de teclado.

CHotKeyCtrl::SetRules

Chame essa função para definir as combinações inválidas e a combinação de modificador padrão para um controle de tecla de atalho.

void SetRules(
    WORD wInvalidComb,
    WORD wModifiers);

Parâmetros

wInvalidComb
Matriz de sinalizadores que especifica combinações de teclas inválidas. Pode ser uma combinação dos seguintes valores:

  • HKCOMB_A ALT

  • HKCOMB_C CTRL

  • HKCOMB_CA CTRL+ALT

  • HKCOMB_NONE Teclas não modificadas

  • HKCOMB_S SHIFT

  • HKCOMB_SA SHIFT+ALT

  • HKCOMB_SC SHIFT+CTRL

  • HKCOMB_SCA SHIFT+CTRL+ALT

wModifiers
Matriz de sinalizadores que especifica a combinação de teclas a ser usada quando o usuário insere uma combinação inválida. Para obter mais informações sobre os sinalizadores do modificador, confira GetHotKey.

Comentários

Quando um usuário insere uma combinação de teclas inválida, conforme definido pelos sinalizadores especificados em wInvalidComb, o sistema usa o operador OR para combinar as teclas inseridas pelo usuário com os sinalizadores especificados em wModifiers. A combinação de teclas resultante é convertida em uma cadeia de caracteres e, em seguida, exibida no controle de teclas de atalho.

Confira também

Classe CWnd
Gráfico da hierarquia