Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.
Fornece a funcionalidade do controlo comum de teclas de atalho do Windows.
Sintaxe
class CHotKeyCtrl : public CWnd
Membros
Construtores Públicos
| Nome | Description |
|---|---|
| CHotKeyCtrl::CHotKeyCtrl | Constrói um CHotKeyCtrl objeto. |
Métodos Públicos
| Nome | Description |
|---|---|
| CHotKeyCtrl::Create | Cria um controlo de tecla de atalho e liga-o a um CHotKeyCtrl objeto. |
| CHotKeyCtrl::CreateEx | Cria um controlo de tecla de atalho com os estilos Windows estendidos especificados e anexa-o a um CHotKeyCtrl objeto. |
| CHotKeyCtrl::GetHotKey | Recupera o código de tecla virtual e as flags modificadoras de uma tecla rápida a partir de um controlo de tecla rápida. |
| CHotKeyCtrl::GetHotKeyName | Recupera o nome da chave, no conjunto de caracteres local, atribuído a uma tecla de atalho. |
| CHotKeyCtrl::GetKeyName | Recupera o nome da chave, no conjunto de caracteres local, atribuído ao código de chave virtual especificado. |
| CHotKeyCtrl::SetHotKey | Define a combinação de teclas de atalho para um controlo de tecla rápida. |
| CHotKeyCtrl::SetRules | Define as combinações inválidas e a combinação de modificadores padrão para um controlo de tecla de atalho. |
Observações
Um "controlo de tecla de atalho" é uma janela que permite ao utilizador criar uma tecla de atalho. Uma "tecla de atalho" é uma combinação de teclas que o utilizador pode pressionar para executar uma ação rapidamente. (Por exemplo, um utilizador pode criar uma tecla de atalho que ativa uma dada janela e a traz para o topo da ordem Z.) O controlo de teclas de atalho mostra as escolhas do utilizador e garante que este seleciona uma combinação de teclas válida.
Este controlo (e, portanto, a CHotKeyCtrl classe) está disponível apenas para programas a correr sob Windows 95/98 e Windows NT versão 3.51 e posteriores.
Quando o utilizador escolhe uma combinação de tecla, a aplicação pode recuperar a combinação especificada do controlo e usar a mensagem WM_SETHOTKEY para configurar a tecla de atalho no sistema. Sempre que o utilizador pressiona a tecla de atalho a partir de qualquer parte do sistema, a janela especificada na mensagem de WM_SETHOTKEY recebe uma mensagem WM_SYSCOMMAND a especificar SC_HOTKEY. Esta mensagem ativa a janela que a recebe. A tecla de atalho mantém-se válida até a aplicação que WM_SETHOTKEY chamou sair.
Este mecanismo é diferente do suporte a teclas de atalho, que depende da mensagem WM_HOTKEY e das funções RegisterHotKey e UnregisterHotKey do Windows.
Para mais informações sobre a utilização CHotKeyCtrlde , veja Controlos e Utilização do CHotKeyCtrl.
Hierarquia de herança
CHotKeyCtrl
Requerimentos
Cabeçalho: afxcmn.h
CHotKeyCtrl::CHotKeyCtrl
Constrói um CHotKeyCtrl objeto.
CHotKeyCtrl();
CHotKeyCtrl::Create
Cria um controlo de tecla de atalho e liga-o a um CHotKeyCtrl objeto.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parâmetros
dwStyle
Especifica o estilo do controlo da tecla de atalho. Aplica qualquer combinação de estilos de controlo. Consulte Estilos de Controlo Comuns no SDK do Windows para mais informações.
retângulo
Especifica o tamanho e a posição do controlo da tecla de atalho. Pode ser um objeto CRect ou uma estrutura RECT.
pParentWnd
Especifica a janela pai do controlo da tecla de atalho, normalmente um CDialog. Não pode ser NULL.
nID
Especifica o ID do controlo da tecla de atalho.
Valor de retorno
Não nulo, se a inicialização fosse bem-sucedida; caso contrário, 0.
Observações
Constroem um CHotKeyCtrl objeto em dois passos. Primeiro, chama o construtor e depois chama Create, que cria o controlo da tecla de atalho e o anexa ao CHotKeyCtrl objeto.
Se quiseres usar estilos de janelas estendidas com o teu controlo, chama CreateEx em vez de Create.
CHotKeyCtrl::CreateEx
Chama esta função para criar um controlo (uma janela filha) e associá-lo ao CHotKeyCtrl objeto.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parâmetros
dwExStyle
Especifica o estilo estendido do controlo que está a ser criado. Para uma lista de estilos estendidos do Windows, consulte o parâmetro dwExStyle para CreateWindowEx no SDK do Windows.
dwStyle
Especifica o estilo do controlo da tecla de atalho. Aplica qualquer combinação de estilos de controlo. Para mais informações, consulte Estilos de Controlo Comuns no SDK do Windows.
retângulo
Uma referência a uma estrutura RECT que descreve o tamanho e a posição da janela a criar, em coordenadas cliente de pParentWnd.
pParentWnd
Um apontador para a janela que é o pai do controlo.
nID
O ID da janela criança do controlo.
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0.
Observações
Use CreateEx em vez de Create para aplicar estilos estendidos do Windows, especificados pelo prefácio de estilo estendido do Windows WS_EX_.
CHotKeyCtrl::GetHotKey
Recupera o código de tecla virtual e as bandeiras modificadoras de um atalho de teclado a partir de um controlo de tecla de atalho.
DWORD GetHotKey() const;
void GetHotKey(
WORD& wVirtualKeyCode,
WORD& wModifiers) const;
Parâmetros
wVirtualKeyCode
[fora] Código de tecla virtual do atalho de teclado. Para uma lista de códigos de chave virtuais padrão, consulte Winuser.h.
wModificadores
[fora] Uma combinação bit a bit (OR) de flags que indicam as teclas modificadoras no atalho do teclado.
As bandeiras modificadoras são as seguintes:
| Flag | Tonalidade correspondente |
|---|---|
| HOTKEYF_ALT | Tecla ALT |
| HOTKEYF_CONTROL | Tecla CTRL |
| HOTKEYF_EXT | Tonalidade estendida |
| HOTKEYF_SHIFT | Tecla SHIFT |
Valor de retorno
No primeiro método sobrecarregado, um DWORD que contém o código de chave virtual e as flags modificadoras. O byte de ordem baixa da palavra de ordem baixa contém o código de chave virtual, o byte de ordem alta da palavra de ordem baixa contém as bandeiras modificadoras, e a palavra de ordem alta é zero.
Observações
O código das teclas virtuais e as teclas modificadoras definem em conjunto o atalho do teclado.
CHotKeyCtrl::GetHotKeyName
Chame esta 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 atualmente. Se não houver uma tecla de atalho selecionada, GetHotKeyName devolve uma corda vazia.
Observações
O nome que esta função membro devolve vem do controlador do teclado. Podes instalar um driver de teclado não localizado numa versão localizada do Windows, e vice-versa.
CHotKeyCtrl::GetKeyName
Chame esta função membro para obter o nome localizado da chave atribuído a um código de chave virtual especificado.
static CString GetKeyName(
UINT vk,
BOOL fExtended);
Parâmetros
vk
O código-chave virtual.
fExtended
Se o código da chave virtual for uma chave estendida, TRUE; caso contrário, FALSO.
Valor de retorno
O nome localizado da chave especificado pelo parâmetro vk . Se a chave não tiver nome mapeado, GetKeyName devolve uma cadeia vazia.
Observações
O nome da chave que esta função devolve vem do controlador do teclado, por isso pode instalar um controlador de teclado não localizado numa versão localizada do Windows, e vice-versa.
Example
CString str;
str = CHotKeyCtrl::GetKeyName(VK_CONTROL, FALSE);
// str is now "Ctrl", or the localized equivalent.
CHotKeyCtrl::SetHotKey
Define o atalho do teclado para um controlo de tecla de atalho.
void SetHotKey(
WORD wVirtualKeyCode,
WORD wModifiers);
Parâmetros
wVirtualKeyCode
[dentro] Código de tecla virtual do atalho de teclado. Para uma lista de códigos de chave virtuais padrão, consulte Winuser.h.
wModificadores
[dentro] Uma combinação bit a bit (OR) de flags que indicam as teclas modificadoras no atalho do teclado.
As bandeiras modificadoras são as seguintes:
| Flag | Tonalidade correspondente |
|---|---|
| HOTKEYF_ALT | Tecla ALT |
| HOTKEYF_CONTROL | Tecla CTRL |
| HOTKEYF_EXT | Tonalidade estendida |
| HOTKEYF_SHIFT | Tecla SHIFT |
Observações
O código das teclas virtuais e as teclas modificadoras definem em conjunto o atalho do teclado.
CHotKeyCtrl::SetRules
Chame esta função para definir as combinações inválidas e a combinação de modificadores padrão para um controlo de tecla de atalho.
void SetRules(
WORD wInvalidComb,
WORD wModifiers);
Parâmetros
wInvalidComb
Array de flags 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 TURNO
HKCOMB_SA SHIFT+ALT
HKCOMB_SC SHIFT+CTRL
HKCOMB_SCA SHIFT+CTRL+ALT
wModificadores
Array de flags que especifica a combinação de teclas a usar quando o utilizador insere uma combinação inválida. Para mais informações sobre as flags de modificação, consulte GetHotKey.
Observações
Quando um utilizador insere uma combinação de chaves inválida, conforme definido por flags especificados em wInvalidComb, o sistema utiliza o operador OR para combinar as chaves introduzidas pelo utilizador com as flags especificadas em wModifiers. A combinação de teclas resultante é convertida numa corda e depois exibida no controlo da tecla de atalho.