Danke für den Tipp, das klappt aber leider nicht. In der Theorie sollte es klappen, in der Praxis scheint es die
VCL besser zu wissen und ich bekomme die Nachricht erst gar nicht. Zumindest wenn ich über "HookMainWindow" gehe.
Meine temporäre Lösung sieht jetzt so aus:
Delphi-Quellcode:
procedure TBaseForm.WMSysCommand(
var msg: TWMSysCommand);
var
isModal: Boolean;
begin
isModal :=
Vcl.Forms.fsModal
in FormState;
case msg.CmdType
of
SC_RESTORE:
if isModal
then [...]
SC_MINIMIZE:
if isModal
then [...]
end;
inherited;
end;
Das muss natürlich an jedes Formular dran. Sollte eine 3rd-Party Komponente ein
VCL-Popup aufmachen bekomme ich Minimieren/Maximieren natürlich wieder nicht mit.
Kann das jemand so unterschreiben oder ist das Mist?