QUERY_UNLOAD
boa noite:
estou com um [Ô]pequeno[Ô] problema
eu adicionei no FormChild >>> um evento Form_QueryUnload >>> um cancel = true etc ........
só que qdo eu tento fechar o MDIform pelo clicar do [Ô]X[Ô] do form ... depois que eu coloco Cancel = true no childform ..... o MDIform nao fecha mais ......... como q faz para reverter isso ..... ?????
o que eu faço para o MDIForm fechar, via o [Ô]X[Ô] do form ????
estou com um [Ô]pequeno[Ô] problema
eu adicionei no FormChild >>> um evento Form_QueryUnload >>> um cancel = true etc ........
só que qdo eu tento fechar o MDIform pelo clicar do [Ô]X[Ô] do form ... depois que eu coloco Cancel = true no childform ..... o MDIform nao fecha mais ......... como q faz para reverter isso ..... ?????
o que eu faço para o MDIForm fechar, via o [Ô]X[Ô] do form ????
Não endendi a lógica desse codigo. Deveria explicar melhor.
O end fecha tudo na marra. Da forma que está fazendo, coloque no QueryUnload do MDIForm:
Se o que pretende é evitar que o form filho seja fechado pelo x, segue outra opção em anexo
O end fecha tudo na marra. Da forma que está fazendo, coloque no QueryUnload do MDIForm:
Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer)
End
End Sub
Se o que pretende é evitar que o form filho seja fechado pelo x, segue outra opção em anexo
WOLFFIRE, bom dia.
Este evento do Visual Basic é bem interessante e o funcionamento dele é simples:
Quando você monta uma aplicação que possui uma lógica de execução que não pode ser quebrada até a sua finalização a menos que seja cancelada, você seta o QueryUnload para True, isto impede que sua aplicação seja fechada de forma inesperada e não tratada.
Para vocêw conseguir usa-la você dever fazer da seguinte forma:
Va no Form1e dclare uma variável do tipo boleana:
Agora no evento Form_Activate defina ela com valor igual a True:
No evento Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) coloique Cancel = UnLoadForm
e por último adicione um botão no Fom e no evento Command1_Click coloque UnLoadFom = False:
Agora faça o teste, rode o projeto, abra o Form1 e tente fecha-lo clicando no [Ô]X[Ô], se não conseguir, clique no botão adicionado e em seguida clique no [Ô]X[Ô] do Form1 ou até mesmo do MidChild.
Ok.
Dúvidas poste novamente.
Este evento do Visual Basic é bem interessante e o funcionamento dele é simples:
Quando você monta uma aplicação que possui uma lógica de execução que não pode ser quebrada até a sua finalização a menos que seja cancelada, você seta o QueryUnload para True, isto impede que sua aplicação seja fechada de forma inesperada e não tratada.
Para vocêw conseguir usa-la você dever fazer da seguinte forma:
Va no Form1e dclare uma variável do tipo boleana:
Option Explicit
Dim UnLoadForm As Boolean
Agora no evento Form_Activate defina ela com valor igual a True:
Private Sub Form_Activate()
UnLoadForm = True
End Sub
No evento Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) coloique Cancel = UnLoadForm
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Cancel = UnLoadForm
End Sub
e por último adicione um botão no Fom e no evento Command1_Click coloque UnLoadFom = False:
Private Sub Command1_Click()
UnLoadForm = False
End Sub
Agora faça o teste, rode o projeto, abra o Form1 e tente fecha-lo clicando no [Ô]X[Ô], se não conseguir, clique no botão adicionado e em seguida clique no [Ô]X[Ô] do Form1 ou até mesmo do MidChild.
Ok.
Dúvidas poste novamente.
Agora consegui ......... RSRS
If UnloadMode = 0 And Visualizar = True Then
Cancel = True
Else
Cancel = False
End If
CODIGO EM ANEXO ........
If UnloadMode = 0 And Visualizar = True Then
Cancel = True
Else
Cancel = False
End If
CODIGO EM ANEXO ........
DANIKULL ......... JA TINHA RESOLVIDO O PROBLEMA
RSRSRS
VALEU PELO CODIGOOOO ............. E BEM PARECIDO COM A SOLUÇÃO QUE EU ACHEIIIIII
VALEUUUU
RSRSRS
VALEU PELO CODIGOOOO ............. E BEM PARECIDO COM A SOLUÇÃO QUE EU ACHEIIIIII
VALEUUUU
Tópico encerrado , respostas não são mais permitidas