Sobald meine Anwendung minimiert wird, wird der Eintrag aus der Taskleiste entfernt und in die Systemtray hinzugefügt. Sobald der User mit der linken Maustaste auf den Eintrag in der Systemtray klickt, wird die Anwendung wieder hergestellt. Wenn er mit der rechten Maustaste drauf klickt wird ein Pop-Up Menü geöffnet.
Klickt der Benutzer mit der rechten Maustaste auf den Eintrag und dann mit der linken Maustaste auf das Icon, aber neben das Pop-Up Menü welches sich ja geöffnet hat. Wird die Anwendung wieder hergestellt. Ich habe in meiner Toolbar einen Button "minimieren". Wenn darauf geklickt wird, ruf ich Application.Minimize auf. Das funzt auch immer wunderbar, nur wenn der Benutzer wie oben beschrieben die Anwendung aus der Systemtray wiederherstellt, macht das Programm nichts mehr. Es wird nicht mehr minimiert. Woran kann das liegen?
in der Toolbar zum minimieren
Delphi-Quellcode:
procedure TMainForm.MinimierenMenuClick(Sender: TObject);
begin
Application.Minimize;
end;
zum wiederherstellen:
Delphi-Quellcode:
procedure TMainForm.Systray(var sMsg: TMessage);
begin
inherited;
if (sMsg.LParam = WM_LBUTTONDOWN) then
begin
Show;
Shell_NotifyIcon(NIM_DELETE, @NIM);
Application.Restore;
Application.BringToFront;
end
else if (sMsg.LParam = WM_RBUTTONDOWN) then
begin
Systemtray.Popup(Mouse.CursorPos.x, Mouse.CursorPos.y);
end;
end;