BlackTDN Search

sexta-feira, 25 de outubro de 2013

Fwd: Tecla ESC (VK_ESCAPE) em Advpl

Boa tarde Naldo!
Desculpe-me por invadir seu e-mail, sou seu fã no site BlackTDN e sempre estou por lá para novo aprendizado, realmente você é um dos papas do ADVPL no Brasil.
Se possível, gostaria de uma opinião sua quanto a um pequeno problema que estou encontrando por aqui. Temos em alguns clientes sistema de chão de fábrica, desenvolvidos todos em advpl e que funcionam perfeitamente, ah não ser pela bendita tecla ESC, ou seja, como as estações são burras, funcionam apenas com pendrive com SO Ubuntu, a máquina liga, carrega o programa e desliga quando ele é abortado, o problema está quando o usuário está no main menu da rotina e tecla ESC, a rotina é abortada e a máquina desliga....
Tentei de todas as formas o  tratamento da tecla com SetKey, como faço com os F1's da vida, mas sem sucesso, o ESC não respeita a condição e é executado.
Você saberia me orientar quanto a isso ? Como posso bloquear a tecla ESC ?
Obrigado pela atenção, novamente desculpe-me pela invasão!
Parabéns pelo site, a comunidade ADVPL do Brasil agradece a expert's como você.
Abraço ! 
Solução:

Existe sim uma forma de desabilitar a tecla ESC. Mas ela só desabilita para rotina customizada ou rotinas padrões que possuam Ponto de Entrada logo após a montagem do "DIALOG". Existe, na classe "TDialog" ou "TWindow", a Propriedade lEscClose que se tiver o valor alterado de .T. para .F. desabilita o fechamento da janela ao se pressionar a tecla ESC. Exemplo

fragmento: oDlg:lEscClose := .F. //Nao permite sair ao se pressionar a tecla ESC.

[]s
иαldσ dj

2 comentários:

  1. Naldo, eu estou precisando de algo totalmente diferente mas que tem a ver com a tecla ESC. Eu preciso executar uma função se a tecla ESC for pressionada para fechar a janela. Existe algum tratamento para este evento?

    Valeu

    ResponderExcluir
  2. Ae Naldo! Essa dica me ajudou hein! Black TDN sempre ajudando heheh Obs: só não consegui ver nada no link "Exemplo"

    ResponderExcluir