Что касается 2-го вопроса — все ОК.
Суть первого тоже вроде бы понял, НО так и не смог найти соответсвующую процедуру. Вот куски кода:
class TForm1 : public TForm
{
...................................
protected:
void __fastcall WMSYSCOMMAND(TMessage Message);
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_SYSCOMMAND, TMessage, WMSYSCOMMAND)
END_MESSAGE_MAP(TForm)
};
....................................
void __fastcall TForm1::WMSYSCOMMAND(TMessage Message)
{
if (Message.WParam == SC_MINIMIZE) {
HideItemClick(Application->MainForm); //некая описанная выше функция
exit;
}
if (Message.WParam == SC_CLOSE) {
HideItemClick(Application->MainForm);
exit;
//<<<<< тут долже был быть inherited;
}
Как наверное видно, сделанна попытка перехватить сообщение Виндовоза, отследить что собственно юзер хочет сделать и если нечто не предусмотренное, то выполнить стандартную обработку (перетаскивать окно к примеру). В данном случае я затрудняюсь сказать какую именно функцию предка следует вызывать, может Вы поможете? Исследование исходников TForm ни к чему не привело

(