klappt leider nicht. es verschwindet erst, wenn ich alle untergeordneten fenster schließe.
hier mal der code, mit dem ich das hauptformular in die systray minimiere:
Delphi-Quellcode:
IconData.cbSize := SizeOf(IconData);
IconData.Wnd := AllocateHWnd(SysTrayIconMsgHandler);
IconData.uID := 0;
IconData.uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
IconData.uCallbackMessage := TRAY_CALLBACK;
IconData.hIcon := form1.image1.picture.Icon.Handle
IconData.szTip := 'blabla';
if not Shell_NotifyIcon(NIM_ADD, @IconData) then
ShowMessage('add fail');
in den untergeordneten forms, die ja erst zur laufzeit erstellt werden, steht folgendes, damit sie einzeln in der taskbar erscheint:
Delphi-Quellcode:
procedure TForm4.CreateParams(var Params : TCreateParams);
begin
inherited;
Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
params.WndParent := GetDesktopwindow;
end;
wenn ein fenster geöffnet ist, dann verschwindet zwar die hauptform und wird auch in der systray angezeigt, aber es bleibt auch in der taskbar.
wnen kein anderes fenster offen ist, klappts.
Danke.