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