Dělám mimo jiné i v C++ Builderu, takže že v Delphi to bude stejné (knihovna VCL je z Delphi): TForm má virtuální funkci WndProc, což je v podstatě procedura okna, ve které můžeš odchytit JAKOUKOLI ZPRÁVU, to znamená, že tě nemusí zajímat, jestli je pro tu zprávu vytvořenej event. Například zprávy myši v neklientské oblasti okna v objectInspectoru určitě neodchytíš, ve WndProc samozřejmě ano. Příklad přepsané WndProc:
void __fastcall TMujForm::WndProc(Messages::TMessage& Message)
{
switch ( Message.Msg )
{
case WM_SYSCOMMAND:
if ( Message.WParam == SC_CLOSE )
return; // jdeme pryč, nevoláme defaultní zpracování
case WM_NCLBUTTONDOWN:
// tady je kód na kliknutí v neklientské oblasti, tj, třeba v titulku
break;
}
TForm::WndProc(Message); // tady volám defaultní zpracování všech ostatních zpráv
}
Radek Chalupa - www.rplusj.cz