![]() |
Hint in der TNA
HAllo
wie kann ich den Hint meines Programms, das in der TNA sitzt, nachträglichn ändern. Ich weiß nur, dass ich beim Adden des Icons dies machen kann (TaskBarAddIcon). Nur wie kann ich jetzt mitten im Programmablauf das ändern? Muss ich das Icon erst wieder verschwinden lassen und dann wieder anzeigen lassen, oder gibt es da irgendeine Update-Funktion? Wenn ja wie? |
Was´n "TaskbarAddIcon"?
Die Funktion/Prozedur von einer Komponente? Wenn ja, dann sollte diese Komponente auch eine Art Update-Funktion haben. |
nein ist keine Komponente, ist eine Funktion von mir. Ich wollte sie noch anhängen, dann habe ich es wohl vergessen ;-)
Delphi-Quellcode:
Ich hoffe ihr könnt mir helfen
procedure TaskBarAddIcon;
var tnid : TNOTIFYICONDATA ; begin tnid.cbSize := sizeof(TNOTIFYICONDATA); tnid.Wnd := Form1.handle; tnid.uID := 1; tnid.uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP; tnid.uCallbackMessage := WM_TASKBAREVENT; tnid.hIcon := form1.image2.picture.icon.handle; strcopy(tnid.szTip,'MailWatcher V 1.0'+#13+' e-Mails auf dem Server'); // Hint Shell_NotifyIcon(NIM_ADD, @tnid); end; |
Genauso, wie das hinzufügen eines Icons, nur dass Du NIM_MODIFY als Flag setzt.
Delphi-Quellcode:
Shell_NotifyIcon(NIM_MODIFY, @tnid);
|
ah danke schön
|
Ich habe noch eine Frage und zwar möchte ich jetzt meine Funktion auch in anderen Units nutzen. Also habe ich sie zwischen Public und end; geschrieben, nur kommt dann immer folgender Fehler
Code:
Mein Public:
[Fehler] UNIT1.PAS(37): Ungenügende Forward- oder External-Deklaration: 'TForm1.TaskBarModifyIcon'
Code:
Woran liegt das?
public
procedure WMTASKBAREVENT(var message: TMessage); message WM_TASKBAREVENT; function TaskBarModifyIcon(hicon1 : HIcon; anzahl : Integer):Boolean; end; |
Du mußt den Klassennamen davor schreiben, vermutlich TForm1
|
Code:
[Fehler] UNIT1.PAS(37): Ungenügende Forward- oder External-Deklaration: 'TForm1.TaskBarModifyIcon'
Sicher hast du im Implementation Teil der Unit vergessen die Funktion wie folgt zu deklarieren:
Delphi-Quellcode:
Wenn du sie also als Methode eines Objektes und als "normale" Procedure ham willst, mußt du sie auch 2x implementieren.
procedure TForm1.TaskBarModifyIcon;
begin {...} end; Thomas[/delphi] |
nochmals danke.
Ich dachte ich hätte davor TForm1 geschrieben |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09: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