CHAMAR FUNCAO DE QUALQUER LUGAR DO SISTEMA
é o seguinte, meu sistema é multi-empresa, então em algumas telas o usuário precisa trocar o código da empresa operante, pensei em por uma função no módulo, e destas telas se teclar F12 por ex:, chamar a função na qual ele informa qual empresa vai operar. minha dúvida é como chamar a função através da tecla 'F12", de qualquer formulário do sistema.
Boa Tarde Futura,
Vc pode utilizar o proprio form, vai uma dica de como vc pode utilizar, o exemplo abaixo eu estou utilizando um objeto texto com a tecla F4.Acho que já da uma boa ideia de como vc pode fazer.
Espero ter ajudado.
Vc pode utilizar o proprio form, vai uma dica de como vc pode utilizar, o exemplo abaixo eu estou utilizando um objeto texto com a tecla F4.Acho que já da uma boa ideia de como vc pode fazer.
Private Sub Field_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF4 Then
If Field(Index).Mask <> "" Then
Field(Index).Mask = "#########"
End If
Field(Index).Text = 999999999
End If
End Sub
Espero ter ajudado.
coloque ela em um modulo
tenho varias funções que deixo em um módulo, mas não estou vendo como ao teclar F12 de qualquer lugar do sistema, chamar a função que vai trocar a empresa em operação.
Futura vc pode acessar de qualquer objeto, como um form, um texto, isso depende de como vc quer utilizar.
Um exemplo no form:
Espero ter ajudado.
Thiago.
Um exemplo no form:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF12 Then
Chama_Função
End If
End Sub
Espero ter ajudado.
Thiago.
cara, se ela ta em um modulo basta voce ver se a tecla F12 foi pressionada, se sim chame a função
[/c]
teh mais
qualquer coisa posta!
[c]Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF12 Then
MsgBox "aqui voce deve colocar a chamada da função"
End If
End Sub
[/c]
teh mais
qualquer coisa posta!
ACHO QUE NÃO ESTOU ME EXPRESANDO BEM, eu ja uso varias funções que chamo a partir do kwydow ou keypress, o q quero saber é c tem como chamar a função, sem ter que colocar no keydow de todos os forms que vão chama-la, ou seja declarar num módulo que a tecla f12 chama a função, e pronto.
O seguinte, existe uma propriedade chamada KeyPreview (Boolean) para Forms que captura o pressionamento de uma tecla antes de que seja disparado evento em qualquer controle onde esteja o foco.
Caso vc modifique esta propriedade para True, vc poderá interagir com os Eventos KeyDown e KeyUp do Form antes de disparar o evento no controle.
Até onde eu conheço, vc precisará mudar isto em todos os forms para ter o efeito desejado.
Caso vc modifique esta propriedade para True, vc poderá interagir com os Eventos KeyDown e KeyUp do Form antes de disparar o evento no controle.
Até onde eu conheço, vc precisará mudar isto em todos os forms para ter o efeito desejado.
futura, eu faço o seguinte, coloco um botao no mdi principal, se o kra quiser mudar de empresa tem que ir la e trocar a empresa, e guardo a empresa em uma variavel global, onde uso ela em todos os forms.
EXATO ALEXANDRE é ISTO MESMO QUE EU JA FAÇO, MAS IMAGINE QUE O USUÃÂÂRIO NA NA TELA DE PREVISÃO DE CONTAS A RECEBER, CONSULTOU DE UMA EMPRESA, E VAI CONSULTAR DA OUTRA, MEUS FORMS SÃO SEMPRE "ALWAYS ON TOP", ELE PRECISARIA FECHAR O FORM, CLICAR NO BOTÃO PARA TROCAR A EMPRESA, E APÓS VOLTAR AO FORM DE CONSULTA. MAS EU JA FIZ O SEGUINTE, CRIEI UM FORM QUE ME TRAZ EM UM LIST AS EMPRESAS CADASTRADAS, E NOS FOMULÃÂÂRIOS QUE TEM A OPÇÃO DE TROCA, NO KEYDOWN, ASSOCIEI A CHAMADA DESTE FORM A TECLA F12, E JA RESOLVEU MEU PROBLEMA. OBRIGADO A TODOS QUE PARTICIPARAM DO TÓPICO DANDO SUAS OPINỈۢES.
Tópico encerrado , respostas não são mais permitidas