Einzelnen Beitrag anzeigen

Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#1

Mehrere Tray-Icons (ohne Komponente)

  Alt 13. Mär 2006, 19:24
Hallo,

ich möchte für mein Programm mehrere Icons im Tray anzeigen. Mit einem hat es bis jetzt prolemlos funktioniert. Ich möchte auch keine Komponente dafür verwenden, da ich mit mehreren Probleme hatte.

Der Code ist (abgewandelt) von DSDT.info:

Delphi-Quellcode:
procedure TaskBarAddIcon(TNID: TNotifyIconData; IIcon: TIcon; IInfo: String);
begin
  with TNID do
  begin
    cbSize := SizeOf(TNotifyIconData);
    Wnd := MainForm.Handle;
    uID := 1;
    uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP;
    uCallbackMessage := WM_TASKBAREVENT;
    hIcon := IIcon.Handle;
    StrCopy(szTip, PChar(IInfo));
  end;
  Shell_NotifyIcon(NIM_ADD, @TNID);
end;


procedure TaskBarRemoveIcon(TNID: TNotifyIconData);
begin
  Shell_NotifyIcon(NIM_DELETE, @TNID);
end;
Bisher habe ich TNID global deklariert.
var TNID: TNotifyIconData; Das hat gut geklappt. Also habe ich das duch folgendes ersetzt:
var Icon1, Icon2: TNotifyIconData; uns TNID stattdessen als Prozedur-Parameter eingefügt.

Wenn ich nun die Add-Funktion 2 mal ausführe (1. mit Icon1, 2. mit Icon2), wird nur das Icon1 angezeigt. Woran könnte das liegen?

Danke,
ManuMF

[Edit]Sorry, sollte eigentlich in Sonstiges zu Delphi[/edit]
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat