Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Systray Icon verschwindet (https://www.delphipraxis.net/17746-systray-icon-verschwindet.html)

cyberrowdy72 9. Mär 2004 10:39


Systray Icon verschwindet
 
Hallo.
Ich habe in der FormCreate-Procedure folgenden Quellcode :roll:

Delphi-Quellcode:
  IconData.cbSize := SizeOf(IconData);
  IconData.Wnd := Handle;
  IconData.uID := 100;
  IconData.uFlags := NIF_MESSAGE + NIF_ICON + NIF_TIP;
  IconData.uCallBackMessage := WM_USER + 20;
  IconData.hIcon := Application.Icon.Handle;
  Shell_NotifyIcon(NIM_ADD, @IconData);
Meine Application startet mit
Delphi-Quellcode:
Formstyle := fsStayOnTop;
Wenn ich aber auf fsNormal umschalte, verschwindet mein Icon wieder aus dem Tray. :gruebel: Dasselbe passiert, wenn ich den BorderStyle von bsToolWindow auf bsNone ändere.

Was mach ich da falsch? :wiejetzt:

Dax 9. Mär 2004 11:36

Re: Systray Icon verschwindet
 
Versuch mal, das Icon zu updaten...
Bei mir hilft das meistens..
Aber nicht immer!

atreju2oo0 9. Mär 2004 11:36

Re: Systray Icon verschwindet
 
Ich hab im ProjektSource noch
Delphi-Quellcode:
Application.ShowMainForm := False;
zu stehen und im onCreate
Delphi-Quellcode:
        with TrayIconData do
          begin
             cbSize := SizeOf(TrayIconData);
             Wnd := Handle;
             uID := 0;
             uFlags := NIF_MESSAGE + NIF_ICON + NIF_TIP;
             uCallbackMessage := WM_ICONTRAY;
             hIcon := Application.Icon.Handle;
             StrPCopy(szTip, Application.Title);
          end;
        Shell_NotifyIcon(NIM_ADD, @TrayIconData);
Damit klappts auch bei mir...

cyberrowdy72 9. Mär 2004 12:03

Re: Systray Icon verschwindet
 
OK, bei mir klappts jetzt auch. :idea:
Aber das WM_ICONTRAY findet er bei mir nicht. Hab WM_USER + 20 damit funzts.

Danke!

MathiasSimmack 9. Mär 2004 12:38

Re: Systray Icon verschwindet
 
Zitat:

Zitat von cyberrowdy72
Aber das WM_ICONTRAY findet er bei mir nicht. Hab WM_USER + 20 damit funzts.

Dann mach doch
Delphi-Quellcode:
const
  WM_ICONTRAY = WM_USER + 20;
;)

cyberrowdy72 9. Mär 2004 12:55

Re: Systray Icon verschwindet
 
Jaa, OK, das geht natürlich auch.
Bin jetzt etwas dahinter gestiegen was das Shell_NotifyIcon betrifft. :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz