W
Du solltest dir darüber im Klaren sein, dass Screen->Forms[i] wirklich ALLE Formulare durchgeht. Ist da auch nur eines dabei, welches keine solche Memberfunktion besitzt, hast du verloren. Ich würde vorschlagen, du benutzt doch die von Jansen gepostete Methode. Und mach erstmal nen normalen Cast. Wenn das klappt, dann ändere ihn in einen C++-Cast. Also erstmal so:
void __fastcall TForm1::Images_MouseDown(TObject* Sender, ...)
{
TImage* img = (TImage*)Sender;
if(img)
{
if(Button == mbLeft)
{
ReleaseCapture();
img->Parent->Perform(WM_NCLBUTTONDOWN, HTCAPTION, 0L);
}
}
}
Beim Erstellen der Images schreibst du dann nur (sofern das Erstellen in der Klasse TForm1 vor sich geht)
TImage* close = new TImage(this); // Der Owner ist ziemlich egal
...
close->OnMouseDown = Images_MouseDown;