helldanger1
GForum VIP
- Entrou
- Ago 1, 2007
- Mensagens
- 29,631
- Gostos Recebidos
- 1
O código abaixo impede que o evento OnClose seja chamado pelo formulário, inclusive no botão da barra de títulos, visto que ao darmos um click no "x" para fechar a janela, esta chama o evento OnClose.
Nota: esse código não impede o encerramento do programa através da função Terminate() em Button1:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
Action=caNone;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Application ->Terminate();
}
//---------------------------------------------------------------------------
Pode ser que queiramos dar alguma opção ao usuário. Nesse caso, por exemplo, podemos chamar uma caixa de mensagens:
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
if(MessageBox(0, "Deseja realmente fechar o Aplicativo?", "Questionamento...",
4+32+8192) == 6)
// 6 significa botão "SIM" pressionado
Application->Terminate(); // encerra o programa
else
// significa botão "NÃO" pressionado
Action=caNone; // não encerra o programa
}
Nota: esse código não impede o encerramento do programa através da função Terminate() em Button1:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
Action=caNone;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Application ->Terminate();
}
//---------------------------------------------------------------------------
Pode ser que queiramos dar alguma opção ao usuário. Nesse caso, por exemplo, podemos chamar uma caixa de mensagens:
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
if(MessageBox(0, "Deseja realmente fechar o Aplicativo?", "Questionamento...",
4+32+8192) == 6)
// 6 significa botão "SIM" pressionado
Application->Terminate(); // encerra o programa
else
// significa botão "NÃO" pressionado
Action=caNone; // não encerra o programa
}