Delphi-Quellcode:
procedure TCommonDialog.WMDestroy(
var Message: TWMDestroy);
begin
inherited;
DoClose;
end;
procedure TCommonDialog.WndProc(
var Message: TMessage);
begin
if Message.Msg = WM_STYLEDLGDESTROY
then
begin
DoClose;
Exit;
end;
...
destructor TSysDialogStyleHook.Destroy;
begin
if Application.DialogHandle =
Handle then
begin
Application.DialogHandle := 0;
SendMessage(
Handle, WM_STYLEDLGDESTROY, 0, 0);
end;
Versuch mal VCL-Styles zu benutzen ... scheinbar funktioniert das OnClose nicht bei nativen Dialogen.
Neee, das scheint niemals zu funktionieren und müsste eher OnDestroy heißen.