Página 1 de 1

Desativar ESC quando GET ativo

Enviado: 21 Out 2024 19:00
por JoséQuintas
Tá lá a dialog, a dialog tem GETs, estão ativos, mas.... deu ESC fecha a dialog.
Aonde coloco a rotina pra impedir isso ?

Não é bloquear totalmente o ESC, é bloquear somente se existir get ativo.

Código: Selecionar todos

IF ! gui_DlgGetEnabled()
    ??? não sai com ESC
ENDIF
Comentário:
No fivewin dialog tem VALID igual GET, dá pra colocar aí e retornar .T. ou .F.
No VB6 tem os eventos UNLOAD e QUERYUNLOAD do form, dá pra colocar aí parecido com .T. ou .F.
E em HWGUI, qual seria a opção ?
Só encontrei dialog:lExitOnEsc, mas aí teria que ficar alterando sempre que ativar/desativar get.
Talvez o ON EVENT, mas aí entra API Windows, e talvez existam várias formas de fechar a dialog que precisariam ser tratadas.
Tem outra opção mais prática ?

Desativar ESC quando GET ativo

Enviado: 21 Out 2024 20:23
por alxsts
Olá!

Acho estranho isso... mas, se é tecla, suponho que deva ser no keypress. Se teclou ESC, testar se o controle ativo é um get. Se for, voltar o foco para ele... ou talvez no lostfocus...

Desativar ESC quando GET ativo

Enviado: 22 Out 2024 10:32
por JoséQuintas
Ao criar a DIALOG ... CLIPPER, isso coloca verdadeiro em lExitOnESC
Teclou ESC a dialog fecha.

Por enquanto acho que a alternativa seria alterar essa propriedade sempre que ativar/desativar GETs.
Ou solicitar o recurso de um codeblock antes de fechar, confirmando se fecha ou não.

Desativar ESC quando GET ativo

Enviado: 23 Out 2024 09:57
por JoséQuintas
Reportei na hwgui.
Vamos ver o que dá.

Desativar ESC quando GET ativo

Enviado: 23 Out 2024 10:25
por SOSSOFT
E se fizer um SET KEY ESC TO minhafuncao()
na minhafuncao() voce verifica se tem GET ativo e então retorna um valor (0 ou .F.) e quando não for get retorna o valor padrão que deveria retornar (1 ou .T.)

Desativar ESC quando GET ativo

Enviado: 23 Out 2024 11:06
por JoséQuintas
Mesmo que desse certo, acredito que não, o ESC é apenas uma das situações que abandonam a dialog.
Alterar o método CLOSE() da dialog também não é suficiente.

Desativar ESC quando GET ativo

Enviado: 23 Out 2024 14:52
por SOSSOFT
Ah, entendi, então neste caso tem que tratar de outra maneira mesmo