Desativar ESC quando GET ativo

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Desativar ESC quando GET ativo

Mensagem 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 ?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Desativar ESC quando GET ativo

Mensagem 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...
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Desativar ESC quando GET ativo

Mensagem 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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Desativar ESC quando GET ativo

Mensagem por JoséQuintas »

Reportei na hwgui.
Vamos ver o que dá.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
SOSSOFT
Usuário Nível 3
Usuário Nível 3
Mensagens: 118
Registrado em: 23 Out 2024 10:04

Desativar ESC quando GET ativo

Mensagem 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.)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Desativar ESC quando GET ativo

Mensagem 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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
SOSSOFT
Usuário Nível 3
Usuário Nível 3
Mensagens: 118
Registrado em: 23 Out 2024 10:04

Desativar ESC quando GET ativo

Mensagem por SOSSOFT »

Ah, entendi, então neste caso tem que tratar de outra maneira mesmo
Responder