PROBLEMA: ESC e ENTER teclas não funcionam quando edita rótulos na TreeView

Traduções de Artigos Traduções de Artigos
Artigo: 130691 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sintomas

Quando editar etiquetas num controlo TreeView, deverá conseguir premir a tecla ESC para cancelar as alterações ou prima a tecla ENTER para aceitar as alterações. No entanto, quando o controlo TreeView está contido numa caixa de diálogo, IsDialogMessage processa batimentos de tecla ESC e ENTER e não os passa para o controlo de edição que é criado pelo controlo TreeView. O resultado é que as combinações de teclas não têm efeito.

Causa

Cria o controlo de vista de árvore e subclasses a edição controlar o que é utilizado para edição no local. O procedimento subclasse não processa a mensagem WM_GETDLGCODE que é enviada por IsDialogMessage , que resulta do processamento predefinido de batimentos de teclas por IsDialogMessage .

Resolução

Para contornar este problema, subclasse a edição controlo em resposta à notificação de TVN_BEGINLABELEDIT é enviada pelo controlo de vista de árvore quando a vista de árvore está prestes a começar a editar etiqueta de um item. Para obter o identificador da janela do controlo de edição, envie o controlo de vista de árvore de uma mensagem TVM_GETEDITCONTROL.

O procedimento subclasse deve processar a mensagem WM_GETDLGCODE devolvendo DLGC_WANTALLKEYS. Isto permite subclasse procedimento a vista de árvore processar batimentos de tecla ESC e ENTER.

Propriedades

Artigo: 130691 - Última revisão: 11 de julho de 2005 - Revisão: 1.2
A informação contida neste artigo aplica-se a:
  • Microsoft Platform Software Development Kit-January 2000 Edition
Palavras-chave: 
kbmt kbctrl kbprb kbtreeview KB130691 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 130691

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com