Ich versuche gerade meine Anwendung, welche durch den Benutzer minimiert wurde, wieder her zu stellen.
Das besondere, wenn die Anwendung minimiert wird, verstecke ich sie aus der Taskleiste und zeige stattdessen einen Trayicon an
Code: Alles auswählen
Procedure TForm1.FormWindowStateChange(Sender: TObject);
Begin
// Beim Minimize zeigen wir das Trayicon an
Trayicon1.visible := True;
Trayicon1.ShowIcon := True;
Application.ProcessMessages;
sleep(10);
// Und der Eintrag in der Taskleiste wird deaktiviert
form1.Visible := false;
End;
Macht nun der User nen Doppelclick auf das trayicon, oder klickt das "zeigen" im Popupmenü soll die Anwendung wieder her gestellt werden, dazu habe ich diverse versuche, alle klappen leider nicht :
Code: Alles auswählen
Procedure TForm1.MenuItem1Click(Sender: TObject);
Begin
// Fenster wieder Sichtbar machen.
// das geht aber leider nicht :(
form1.Visible := true;
Application.ProcessMessages;
sleep(10);
Application.Restore;
Application.BringToFront;
form1.show;
form1.WindowState := wsNormal;
application.IntfAppRestore;
End;
Im Dateinanhang habe ich noch ein Minimalsample zusammengebastelt.
Weihnachtliche grüße
Corpsman
Verwendet wird :
Lazarus SVN 39672.
KDE 4.9.2
fpc 2.6.0-6
Kernel 3.5.0-18-generic