Entwickler-Ecke

Windows API - OnMinimize SysTray -> Minimieren geht nur einmal?


JRegier - Do 20.10.05 13:07
Titel: OnMinimize SysTray -> Minimieren geht nur einmal?
Hallo, ich habe nach dem Beispiel hier http://www.delphi-library.de/viewtopic.php?sid=babf4c4a0d47e7d532b61957e872b54a&t=8294
Application.OnMinimize das Programm in den SysTray gesetzt aber dann geht minimieren nur einmal?


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
procedure TMainForm.OnMinimizeMe(Sender: TObject);
begin
    Hide;
    Shell_NotifyIcon (NIM_ADD, @fIconData); // Beim Minimieren Verstecken und ein Icon zur SysTray hinzufügen
end;

procedure TMainForm.FormDestroy(Sender: TObject);
begin
    Shell_NotifyIcon (NIM_DELETE, @fIconData);  // Beim Beenden Icon auf jeden Fall weg
end;

procedure TMainForm.TaskTrayWndProc(var Msg: TMessage);
begin
    case Msg.LParam of   
    WM_LBUTTONDOWN: begin
                    Shell_NotifyIcon (NIM_DELETE, @fIconData);  // Icon au der Systray entfernen
                    Show;                                       // anzeigen
                    end;
    end;
end;


Wieso läßt es sich nur einmal minimieren?


Sprotti - Mo 24.10.05 16:03
Titel: restore nehmen
hallo, hatte das gleiche problem als ich das fenster nicht mit restore sondern über wsMaximize wieder groß gemacht hatte.
Seit ich restore nehme geht alles prima
gruß sprotti


JRegier - Mo 24.10.05 17:13
Titel: Re: restore nehmen
Vielen Dank! :wink:


the_immortal - So 06.11.05 11:51

Ich habe es jetzt auch mit dem Restore gemacht und man kann mehr als einmal minimieren, jedoch habe ich das Problem, dass das Form nicht mehr geHided wird es ist nur beim ersten Minimizen nicht mehr sichtbar :/!