Einzelnen Beitrag anzeigen

Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#1

Minimieren ins Systray mit einzelne Form

  Alt 1. Mai 2004, 10:48
Hallo

ich lasse mit...
Delphi-Quellcode:
procedure TForm1.CreateParams(var Params: TCreateParams); //Form1 ist nicht das Hauptformular
begin
  inherited;
  Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
  //SetWindowLong(Handle, GWL_HWNDPARENT, 0);
end;
...mein Form in der Taskleiste anzeigen.
Jedoch will ich mit...
Delphi-Quellcode:
procedure TForm1.AppEvntMinimize(Sender: TObject);
begin
  FormStyle:=fsStayOnTop;
  Hide;
end;
...mein Programm im SysTray anzeigen lassen, wenn es minimiert wird. Der Systray wird durch...
Delphi-Quellcode:
with NIM do //NIM: TNotifyIconData;
  begin
    cbSize := SizeOf (NIM);
    Wnd := Handle;
    uID := 0;
    uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
    uCallbackMessage := IC_CLICK; //IC_CLICK = WM_APP + 201;
    hIcon := Application.Icon.Handle;
  end;
  Shell_NotifyIcon(NIM_ADD, @NIM);
...generiert.

Jetzt die drei Fragen:
1. Wenn ich Form1 minimiere, dann passiert garnichts. Wieso?
2. Wie kann ich beim Minimieren die Form aus der Taskleiste verschwinden lassen?
3. Wie kann ich es realisieren, dass beim minimieren einer Form, nicht alle anderen ebenfalls minimiert werden? Ich habe in einem Anderen Thread einen Tipp bekommen (im 1. Source die letzte kommentierte Zeile), jeodch funktionierts nicht...

Danke schon mal für die Antworten
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat