Вопрос: Как заблокировать или перехватывать системную кнопку закрытия программы? 
Кнопка Восстановить-Развернуть должна работать! Прога должна закрываться только от нажатия клавиши, ну например 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();
    }
}


--------------------------------------------------------------------------------

	

Электронные Книги по компьютерным программам
На правах рекламы:
Логин
Пароль
Запомнить меня