Einzelnen Beitrag anzeigen

luckystar85

Registriert seit: 21. Dez 2004
Ort: Rostock
138 Beiträge
 
Delphi 2009 Professional
 
#1

Anwendung in die Systemtray minimieren

  Alt 23. Mär 2005, 01:13
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;
Michael Klüber
Delphi ist was solides und besteht nicht wie C/C++ Quelltext nur aus Kommentaren.
  Mit Zitat antworten Zitat