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.
Gerir tabelas de teclas de atalhos para a janela principal e para as janelas filhos.
Sintaxe
class CKeyboardManager : public CObject
Membros
Construtores Públicos
| Nome | Description |
|---|---|
| CKeyboard Manager::CKeyboard Manager | Constrói um CKeyboardManager objeto. |
Métodos Públicos
| Nome | Description |
|---|---|
| CKeyboardManager::CleanUp | Limpa as tabelas de teclas de atalho. |
| CKeyboardManager::FindDefaultAccelerator | Recupera a tecla de atalho padrão para o comando e janela especificados. |
| CKeyboard Manager::IsKeyHandled | Determina se uma chave é manipulada pela tabela aceleradora. |
| CKeyboard Manager::IsKeyPrintable | Indica se um carácter é imprimível. |
| CKeyboard Manager::IsShowAllAccelerators | Indica se os menus mostram todas as teclas de atalho de um comando ou apenas a tecla de atalho padrão. |
| CKeyboard Manager::LoadState | Carrega as tabelas de teclas de atalhos a partir do registo do Windows. |
| CKeyboard Manager::ResetAll | Recarrega as tabelas de teclas de atalho a partir do recurso da aplicação. |
| CKeyboard Manager::SaveState | Guarda as tabelas de teclas de atalho no registo do Windows. |
| CKeyboard Manager::ShowAllAccelerators | Especifica se o framework exibe todas as teclas de atalho para todos os comandos, ou uma única tecla de atalho para cada comando. Este método não afeta comandos que tenham apenas uma tecla de atalho associada. |
| CKeyboard Manager::Traduzir CharToUpper | Converte um carácter para o registo agudo. |
| CKeyboard Manager::UpdateAccelTable | Atualiza uma tabela de teclas de atalhos com uma nova tabela de teclas de atalhos. |
Observações
Os membros desta classe permitem-lhe guardar e carregar tabelas de teclas de atalho no registo do Windows, usar um modelo para atualizar as tabelas de teclas de atalho e encontrar a tecla de atalho padrão para um comando numa janela de frame. Além disso, o CKeyboardManager objeto permite-lhe controlar como as teclas de atalho são apresentadas ao utilizador.
Não deves criar um CKeyboardManager objeto manualmente. Será criado automaticamente pelo framework da sua aplicação. No entanto, deve ligar para CWinAppEx::InitKeyboardManager durante o processo de inicialização da sua aplicação. Para obter uma indicação para o gestor de teclado da sua aplicação, ligue para CWinAppEx::GetKeyboardManager.
Example
O exemplo seguinte demonstra como recuperar um ponteiro para um CKeyboardManager objeto a partir de uma CWinAppEx classe e como mostrar todas as teclas de atalho associadas aos comandos do menu. Este excerto de código faz parte do exemplo de Páginas Personalizadas.
// The GetKeyboardManager method is inherited from the CWinAppEx class.
CKeyboardManager *cKeyboardManager = GetKeyboardManager();
cKeyboardManager->ShowAllAccelerators();
Hierarquia de herança
Requerimentos
Cabeçalho: afxkeyboardmanager.h
CKeyboard Manager::CKeyboard Manager
Constrói um CKeyboardManager objeto.
CKeyboardManager();
Observações
Na maioria dos casos, não é necessário criar uma CKeyboardManager carta direta. Por defeito, o framework cria um para si. Para obter uma indicação para , CKeyboardManagerligue para CWinAppEx::GetKeyboardManager. Se criar um manualmente, deve inicializá-lo com o método CWinAppEx::InitKeyboardManager.
CKeyboardManager::CleanUp
Liberta os CKeyboardManager recursos e limpa todos os atalhos de mapeamento de teclas.
static void CleanUp();
Observações
Para mais informações sobre teclas de atalho, consulte Personalização de Teclado e Rato.
Não é necessário chamar esta função quando a sua aplicação sai porque o framework chama-a automaticamente durante a saída da aplicação.
CKeyboardManager::FindDefaultAccelerator
Recupera a tecla de atalho padrão para o comando e janela especificados.
static BOOL FindDefaultAccelerator(
UINT uiCmd,
CString& str,
CFrameWnd* pWndFrame,
BOOL bIsDefaultFrame);
Parâmetros
uiCmd
[dentro] O ID do comando.
STR
[fora] Uma referência a um CString objeto.
pWndFrame
[dentro] Um apontador para uma janela de moldura.
bIsDefaultFrame
[dentro] Especifica se a janela de frame é a janela de frame padrão.
Valor de retorno
Diferente de zero se o atalho for encontrado; caso contrário, 0.
Observações
Este método procura o comando especificado pelo uiCmd e recupera a tecla de atalho padrão. Depois, o método pega na string associada a esta tecla de atalho e escreve o valor no parâmetro str .
CKeyboard Manager::IsKeyHandled
Determina se a chave especificada é tratada pela Classe CKeyboardManager.
static BOOL __stdcall IsKeyHandled(
WORD nKey,
BYTE fVirt,
CFrameWnd* pWndFrame,
BOOL bIsDefaultFrame);
Parâmetros
nKey
[dentro] A chave para verificar.
fVirt
[dentro] Especifica o comportamento da tecla de atalho. Para uma lista de valores possíveis, veja Estrutura ACCEL.
pWndFrame
[dentro] Uma janela de moldura. Este método determina se uma tecla de atalho é tratada neste frame.
bIsDefaultFrame
[dentro] Um parâmetro booleano que indica se pWndFrame é a janela de frame predefinida.
Valor de retorno
TRUE se a tecla de atalho for tratada. FALSE se a chave não for tratada ou se pWndFrame for NULL.
Observações
Os parâmetros de entrada devem corresponder à entrada na tabela aceleradora tanto para nKey como para fVirt para determinar se uma tecla de atalho é tratada em pWndFrame.
CKeyboard Manager::IsKeyPrintable
Indica se um carácter é imprimível.
static BOOL __stdcall IsKeyPrintable(const UINT nChar);
Parâmetros
nChar
[dentro] O carácter que este método verifica.
Valor de retorno
Não zero se o carácter for imprimível, zero se não for.
Observações
Este método falha se uma chamada ao GetKeyboardState falhar.
CKeyboard Manager::IsShowAllAccelerators
Indica se os menus mostram todas as teclas de atalho associadas aos comandos do menu ou apenas as teclas de atalho padrão.
static BOOL IsShowAllAccelerators();
Valor de retorno
Não zero se a aplicação listar todas as teclas de atalho para comandos de menu; 0 se a aplicação mostrar apenas as teclas de atalho por defeito.
Observações
A aplicação lista as teclas de atalho para comandos de menu na barra de menus. Use a função CKeyboardManager::ShowAllAccelerators para controlar se a aplicação lista todas as teclas de atalho ou apenas as teclas de atalho padrão.
CKeyboard Manager::LoadState
Carrega as tabelas de teclas de atalhos a partir do registo do Windows.
BOOL LoadState(
LPCTSTR lpszProfileName = NULL,
CFrameWnd* pDefaultFrame = NULL);
Parâmetros
lpszProfileName
[dentro] O caminho do registo onde CKeyboardManager os dados são guardados.
pDefaultFrame
[dentro] Um ponteiro para uma janela de frame para usar como janela predefinida.
Valor de retorno
Não zero se o estado foi carregado com sucesso ou 0 caso contrário.
Observações
Se o parâmetro lpszProfileName for NULL, este método verifica a localização padrão do registo para os CKeyboardManager dados. A localização padrão do registo é especificada pela Classe CWinAppEx. Os dados devem ser previamente escritos com o método CKeyboardManager::SaveState.
Se não especificar uma janela predefinida, a janela principal da sua aplicação será utilizada.
CKeyboard Manager::ResetAll
Recarrega as tabelas de teclas de atalho a partir do recurso da aplicação.
void ResetAll();
Observações
Esta função elimina os atalhos armazenados na CKeyboardManager instância. Depois, recarrega o estado do gestor de teclado a partir do recurso da aplicação.
CKeyboard Manager::SaveState
Guarda as tabelas de teclas de atalho no registo do Windows.
BOOL SaveState(
LPCTSTR lpszProfileName = NULL,
CFrameWnd* pDefaultFrame = NULL);
Parâmetros
lpszProfileName
[dentro] O caminho do registo para salvar o CKeyboardManager estado.
pDefaultFrame
[dentro] Um apontador para uma janela de frame que se torna a janela padrão.
Valor de retorno
Não zero se o estado do gestor de teclado foi guardado com sucesso, ou 0 caso contrário.
Observações
Se o parâmetro lpszProfileName for NULL, este método irá escrever o CKeyboardManager estado na localização padrão especificada pela Classe CWinAppEx. Se especificar uma localização, pode carregar os dados mais tarde usando o método CKeyboardManager::LoadState.
Se não especificares uma janela por defeito, a janela do quadro principal será usada como janela predefinida.
CKeyboard Manager::ShowAllAccelerators
Mostra todas as teclas de atalho associadas aos comandos de menu.
static void ShowAllAccelerators(
BOOL bShowAll = TRUE,
LPCTSTR lpszDelimiter = _afxDefaultAcceleratorDelimiter);
Parâmetros
bShowAll
[dentro] Se for TRUE, todas as teclas de atalho serão exibidas. Se for FALSE, apenas a primeira tecla de atalho será exibida.
lpszDelimiter
[dentro] Uma sequência para inserir entre teclas de atalho. Este delimitador não tem efeito se apenas uma tecla de atalho for apresentada.
Observações
Por defeito, se um comando tiver mais do que uma tecla de atalho associada, apenas a primeira tecla de atalho será mostrada. Esta função permite-lhe listar todas as teclas de atalho associadas a todos os comandos.
As teclas de atalho estarão listadas ao lado do comando na barra de menu. Se todas as teclas de atalho forem exibidas, a cadeia fornecida pelo lpszDelimiter irá separar as teclas de atalho individuais.
CKeyboard Manager::Traduzir CharToUpper
Converte um carácter para o registo agudo.
static UINT TranslateCharToUpper(const UINT nChar);
Parâmetros
nChar
[dentro] A personagem a converter.
Valor de retorno
O carácter que é o registo superior do parâmetro de entrada.
CKeyboard Manager::UpdateAccelTable
Atualiza uma tabela de teclas de atalhos com uma nova tabela de teclas de atalhos.
BOOL UpdateAccelTable(
CMultiDocTemplate* pTemplate,
LPACCEL lpAccel,
int nSize,
CFrameWnd* pDefaultFrame = NULL);
BOOL UpdateAccelTable(
CMultiDocTemplate* pTemplate,
HACCEL hAccelNew,
CFrameWnd* pDefaultFrame = NULL);
Parâmetros
pTemplate
[dentro] Um apontador para um modelo de documento.
lpAccel
[dentro] Um apontador para a nova tecla de atalho.
nTamanho
[dentro] O tamanho da nova tabela de atalhos.
pDefaultFrame
[dentro] Um ponteiro para a janela de frames padrão.
hAccelNew
[dentro] Uma alça para a nova tabela de atalhos.
Valor de retorno
Diferente de zero se o método for bem-sucedido; caso contrário, 0.
Observações
Use esta função para substituir a tabela de atalhos existente por novas teclas de atalho para vários objetos de janela de frame. A função recebe um modelo de documento como parâmetro para obter acesso a todos os objetos de janela de frames ligados ao modelo de documento dado.
Consulte também
Gráfico de Hierarquia
Classes
Classe CWinAppEx
CWinAppEx::InitKeyboardManager
de personalização de teclado e mouse