Hallo,
für folgendes anscheinend Delphi 5 spezifisches Problem finde ich einfach
keine Lösung.
* Ausgangssituation: Ich zeige ein Form (poDesigned,bsSingle) mit der Methode ShowModal an und biete dem Anwender die Möglichkeit, dieses Fenster zu minimieren, wobei allerdings die gesamte Applikation minimiert werden soll. Unter Delphi 3 habe ich dies mit folgendem Source-Code realisiert:
Procedure TMyForm.FormResize(sender:TObject);
begin
if WindowState = wsMinimized then Application.Minimize;
end;
Unter Delphi 5 funktioniert diese Lösung nicht mehr. Es wird nur das modal
angezeigte Form minimiert. Beim Debuggen konnte ich dann feststellen, dass WindowState noch nicht den neuen Wert (wsMinimized) besitzt. Daraufhin versuchte ich durch Überschreiben der Methode Resizing und unter Verwendung von "Application.Minimize" das Minimieren der gesamten Applikation -> hat nicht funktioniert!.Ersetze ich "Application.Minimize" durch
"ShowWindow(Application.Mainform.handle,SW_MINIMIZ E)",wird zwar mein Mainform minimiert, aber als weiters minimiertes Fenster und nicht wie
eine minimierte Anwendung als Icon in der Taskbar.
Durch Nachlesen in einem Artikel von WWW.Delphi3000.com bin ich dann auf folgende Lösungsmöglichkeit gestoßen, die unter Delphi 3 funkioniert,aber nicht unter Delphi 5.
procedure TMyForm.WMSysCommand(var Message: TWMSysCommand);
begin
if (Message.CmdType and $FFF0 = SC_MINIMIZE) then
Application.Minimize
else
inherited;
end;
Wer kann mir helfen ?
Danke,
Dieter Aschenwald.
für folgendes anscheinend Delphi 5 spezifisches Problem finde ich einfach
keine Lösung.
* Ausgangssituation: Ich zeige ein Form (poDesigned,bsSingle) mit der Methode ShowModal an und biete dem Anwender die Möglichkeit, dieses Fenster zu minimieren, wobei allerdings die gesamte Applikation minimiert werden soll. Unter Delphi 3 habe ich dies mit folgendem Source-Code realisiert:
Procedure TMyForm.FormResize(sender:TObject);
begin
if WindowState = wsMinimized then Application.Minimize;
end;
Unter Delphi 5 funktioniert diese Lösung nicht mehr. Es wird nur das modal
angezeigte Form minimiert. Beim Debuggen konnte ich dann feststellen, dass WindowState noch nicht den neuen Wert (wsMinimized) besitzt. Daraufhin versuchte ich durch Überschreiben der Methode Resizing und unter Verwendung von "Application.Minimize" das Minimieren der gesamten Applikation -> hat nicht funktioniert!.Ersetze ich "Application.Minimize" durch
"ShowWindow(Application.Mainform.handle,SW_MINIMIZ E)",wird zwar mein Mainform minimiert, aber als weiters minimiertes Fenster und nicht wie
eine minimierte Anwendung als Icon in der Taskbar.
Durch Nachlesen in einem Artikel von WWW.Delphi3000.com bin ich dann auf folgende Lösungsmöglichkeit gestoßen, die unter Delphi 3 funkioniert,aber nicht unter Delphi 5.
procedure TMyForm.WMSysCommand(var Message: TWMSysCommand);
begin
if (Message.CmdType and $FFF0 = SC_MINIMIZE) then
Application.Minimize
else
inherited;
end;
Wer kann mir helfen ?
Danke,
Dieter Aschenwald.
Comment