Вопрос: Как заблокировать или перехватывать системную кнопку закрытия программы?
Кнопка Восстановить-Развернуть должна работать! Прога должна закрываться только от нажатия клавиши, ну например Esc
Ответ :
Можно так:
code:
--------------------------------------------------------------------------------
#pragma resource "*.dfm"
TForm1 *Form1;
bool toClose;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
KeyPreview = true;
toClose = false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
if(toClose)
Action = caFree;
else
Action = caNone;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if(Key == VK_ESCAPE) {
toClose = true;
Close();
}
}
--------------------------------------------------------------------------------
|