FECHAR FORM NO "X"

USUARIO.EXCLUIDOS 19/03/2004 12:19:15
#16098
Olá, eu preciso executar uma rotina que está em um módulo quando o usuário fechar um form. Tenho um botão sair, mas preciso saber quando o usuário clicar no X para sair para executar e mesma rotina.
Se possível, gostaria de saber as funções dos seguntes eventos de um form e as diferenças básicas entre cada uma delas:
Deactivate
Resize
Terminate
Unload


Desde já agradeço.
USUARIO.EXCLUIDOS 19/03/2004 12:39:05
#16102
Resposta escolhida
Este evento (QueryUnload) é ativado ANTES do Form_Unload e possibilita o tratamento das razões possíveis do encerramento. Muito cuidado com os eventos Activate, Deactivate e Terminate, pois funções chamadas ali podem gerar instà¢ncias de objetos que acabam "penduradas" no sistema, bem como tentar o acesso á objetos que já foram instanciados.


Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Select Case UnloadMode
Case Is = vbFormControlMenu 'O "X"
Case Is = vbFormCode 'Por código
Case Is = vbAppWindows 'O windows está encerrando a aplicação
Case Is = vbAppTaskManager 'O usuário usou o gerenciador de tarefas
Case Is = vbFormMDIForm 'O formulário pai está sendo encerrado
Case Is = vbFormOwner 'O formulárioe está sendo encerrado porque seus componentes encerraram
End Select
End Sub
Tópico encerrado , respostas não são mais permitidas