Hallo,
ich hoffe, dass das hier jetzt richtig ist:
Meine Frage: Wie kann ich ein Trayicon ändern, ohne es zu removen?
Hier mal ein Teil von meinem Programm:
Code:
...
const
WM_TASKBAREVENT = WM_USER+1;
...
private
procedure WMTASKBAREVENT(var message: TMessage);
message WM_TASKBAREVENT;
...
procedure TForm1.WMTASKBAREVENT(var message: TMessage);
begin
case message.LParamLo of
WM_LBUTTONDOWN : BEGIN
Showmessage('Linksclick');
end;
WM_RBUTTONDOWN : begin
Showmessage('Rechtsclick');
end;
WM_LBUTTONDBLCLK : begin
Showmessage('Doppelclick');
end;
end;
end;
procedure TaskBarAddIcon;
var
tnid: TNOTIFYICONDATA ;
begin
with tnid do
begin
cbSize := sizeof(TNOTIFYICONDATA);
Wnd := Form1.handle;
uID := 1;
uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP;
uCallbackMessage := WM_TASKBAREVENT;
hIcon := application.icon.handle;
end;
strcopy(tnid.szTip,'Tooltipp');
Shell_NotifyIcon(NIM_ADD, @tnid);
end;
procedure TaskBarRemoveIcon;
var
tnid: TNOTIFYICONDATA ;
begin
tnid.cbSize := sizeof(TNOTIFYICONDATA);
tnid.Wnd := Form1.handle;
tnid.uID := 1;
Shell_NotifyIcon(NIM_DELETE, @tnid);
end;
Danke schonmal im Vorraus.
MFG Doc Morelli