VBMODAL DE UMA MANEIRA MAIS DINAMICA?

CHICOWEB 23/10/2013 09:27:17
#430298
Seguinte galera:

Tenho um sistema que possui uma MDIFORM principal.
E na frente dessa vou chamando muitas forms modals (Antes que alguem pergunte, Era para ser multi janelas mas deu errado).

Existe uma form (Consulta de preços) que preciso chamar em qualquer hora no sistema, ou seja mesmo com uma forma já modal na tela, essa form de preços precisa ser chamada modal também, através da tecla F4.

Só que atualmente estou tendo que colocar isso:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF4 Then
btnPesqProd_Click
End If
End Sub


Em TODOS os forms, caraca inviável neh!
Como posso resolver isso, tem como colocar algo no MDIForm principal que fica lá atrás sempre aberta?
Essa MDIForm tem um timer, ajuda?

OBS: A MDIForm tem um menu principal também, já tentei colocar atalho de meu editor mas não funciona quando tem uma form modal na frente.

Alguem ajuda, tem alguma sugestão, por favor?
LLAIA 23/10/2013 09:58:06
#430300
Agora não lembro de nenhuma propriedade específica de um MDI que pudesse te ajudar nisso.

Olha cara, não tenho plena certeza, mas acredito que se pode usar aquelas APIs do Windows de hook, muito usadas quando querem aprender a fazer um keylogger.

Assim, de repente, vc pode fazer algo que capture a tecla e carregar o Form de qualquer outro formulário.

é apenas uma ideia que nem sei se é a correta. Mas gostaria de te acrescentar uma dica. Evite usar o F4 para funções no seu sistema. O F4 está intimamente vinculado aos combox e outros controles suspensos pelo Windows. Vc pode experimentar comportamentos esquisitos quando o foco estiver em um desses controles.

Faça seu login para responder