Moin Moin,
wie "elegant" mitbekommen, wann eine fremde TForm
freigegeben ausgeblendet wird?
egal wie (
VCL oder
NonVCL)
Freigeben ist einfach.
* einfach ein WinWintrol dranhängen ... mein HWND verschwindet, wenn der Parent verschwindet
* oder ein TComponent mit Owner dranhängen ... wird Parent freigegeben, dann ich auch
Aber leider dauert es "ewig", vom Ausblenden, bis zur Freigabe, drum wollte ich nun versuchen, mich ans "Hide" zu hängen.
* TApplicationEvents.OnMessage auf WM_DESTROY bzw. WM_QUIT ... unschön, weil dann ja bei ALLEM mein "Hook" drin
* Form.OnHide oder OnClose überschreiben
* WndProc der Form hooken (SetWindowLong+GWL_WNDPROC -> CM_VISIBLECHANGED)
*
VMT des DoHide überschreiben
* * gefallem mit diese Hooks eigentlich nicht wirklich, da ich dort ja prinzipiell ja die Komponente selbst "verändern" würde (ungünstig, wenn ich einen Fehler machen würde)
WM_SHOWWINDOW bei meinen WinControl ausprobiert, aber es wird nie aufgerufen ... somit leider nicht möglich dort das SW_PARENTCLOSING prüfen zu wollen.