Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi TNA Icon - Wie richtig schließen? (https://www.delphipraxis.net/36944-tna-icon-wie-richtig-schliessen.html)

sanastro013 28. Dez 2004 14:48


TNA Icon - Wie richtig schließen?
 
Hi

Ich versuche mich eben an SysTray Icons und eigentlich auch mit Erfolg.

Allerdings habe ich da noch ein Problem.
Ich habe mir die OneInstance Komponente heruntergeladen, die ich hier in der DP gefunden habe.
Wenn ich nun per "Senden an" eine Datei an mein geöffnetes Programm schicke, funktioniert das auch super und das Programm bleibt nur einmal geöffnet, allerdings wird dann ein weiteres Systray Icon hinzugefügt und verschwindet erst, wenn ich mit meiner Maus darüberfahre.

Ich wollte mir die CoolTray Komponenten laden, die ich auch hier im Forum gefunden habe, kann diese aber mit D7 nicht installieren :wall:
(Ungültiges Package Handle)

Nun meine Frage:
Kann man die Icons irgendwie "sauber" beenden, so dass sie gleich verschwinden und nicht erst, wenn man mit der Maus darüberfährt?

Die Suche habe ich benutzt, wurde aber nicht fündig da immer nur auf Cooltray verwiesen wird.
(Außerdem scheint sie heute defekt zu sein. Sie gibt mir immer eine Fehlermeldung aus wenn ich versuche zu suchen :gruebel: )

Hier der Code den ich benutze um das Icon anzuzeigen:

Delphi-Quellcode:
const
  cWM_MYTRAYICONCALLBACK = WM_USER + 1000;
...

...
procedure TForm4.FormCreate(Sender: TObject);
var
  IconData: TNOTIFYICONDATA;
begin
  with IconData do
    begin
      cbSize := SizeOf (TNOTIFYICONDATA);
      Wnd := Handle;
      uID := 1;  
      uFlags := NIF_MESSAGE + NIF_ICON + NIF_TIP;
      hIcon := LoadIcon (0, IDI_INFORMATION);
      szTip := 'Test';
      uCallBackMessage := cWM_MYTRAYICONCALLBACK;
    end;
   If not Shell_NotifyIcon (NIM_ADD, @IconData) then
    { Fehler! };
end;
Zum "Beenden" des Icons:

Delphi-Quellcode:
  if not Shell_NotifyIcon (NIM_DELETE, @fIconData) then
    { Fehler! };
Ich würde mich über Antworten freuen :-D

Mfg

Sanastro

__________
:dp:

Matze 28. Dez 2004 14:59

Re: TNA Icon - Wie richtig schließen?
 
Guck mal hier: TNATNA.

sanastro013 28. Dez 2004 18:24

Re: TNA Icon - Wie richtig schließen?
 
Hey

Danke für die schnelle Antwort.
Aber so wie ich das sehe wird das in der Code Library nicht wirklich anders beschrieben.
Fürs beenden wird der gleiche Befehl benutzt.
Ich habe es ja geschafft ein TNA Icon zu erzeugen.
Mich würde aber interessieren wo das Problem beim beenden liegt.
:?
Mfg

Sanastro


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:58 Uhr.

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