![]() |
Tooltip im Systray ändern
Guten Abend!
Ich habe (mal wieder) ein Problem. :? Und zwar liegt ein Icon meiner Anwendung im Systray und zeigt im dazugehörigen Tooltip den momentanen Status an. Dieser wird häufig geändert. Wie kann ich jetzt diesen Tooltip ändern, ohne den ganzen Systray-Eintrag zu entfernen und mit neuem Tooltip wieder anzuzeigen?? Lästig ist auch, dass dann das Systray-Icon wieder ganz rechts steht. (Sieht ja auch nicht gerade so toll aus, wenn da eine Anwendung immer wieder so auf sich aufmerksam macht...) Ich kann jede Hilfe gebrauchen!! :thuimb: |
Re: Tooltip im Systray ändern
Kuck dir mal:
Delphi-Quellcode:
an. Wobei NID vom Typ TNotifyIconData ist.
Shell_NotifyIcon(NIM_MODIFY,@NID);
|
Re: Tooltip im Systray ändern
:wiejetzt:
Im Moment habe ich folgenden Code:
Delphi-Quellcode:
Kann ich dann das ganze einfach nochmal mit einem anderen Tooltip ausführen?
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,'Status'); Shell_NotifyIcon(NIM_ADD, @tnid); end; |
Re: Tooltip im Systray ändern
Sicher kannst du. Nur anstelle von NIM_ADD benutzt du NIM_MODIFY.
Idealer ist es aber, wenn du die TNotifyIcon-Variable global deklarierst und grundlegende Einstellungen von Anfang an festlegst, bzw. im "OnCreate"-Ereignis zuweist. Dann kannst du das TNA-Symbol hinzufügen, modifizieren und entfernen, ohne ständig alle Eigenschaften (= Einstellungen) neu angeben zu müssen. Schau dir doch mal ein paar ![]() |
Re: Tooltip im Systray ändern
Wo wir gerade dabei sind, ich hab dazu auch gleich direkt eine frage,
und zwar arbeite ich auch schon einige zeit mit systrayIcon's und auch mit
Delphi-Quellcode:
(sieht auch gleich viel schoener aus) und da ich meine taskleiste nicht gern allzuvoll habe verstecke ich meine tools auch immer gern vor ihr.
Shell_NotifyIcon(NIM_MODIFY,@NID);
Delphi-Quellcode:
jedoch sieht man beim starten meiner tools leider immer ganz kurz dass tool in meiner taskleiste, also bevor HauptForm.Show eintritt. Da muss es doch auch eine moeglichkeit geben dass abzuaendern dass mir dies kein dorn mehr im auge ist :gruebel: weiss da jmd evtl rat ?
procedure THauptForm.FormShow(Sender: TObject);
var TaskBar : HWnd; begin TaskBar := GetWindow(Handle,GW_Owner); ShowWindow(TaskBar,SW_Hide); end; |
Re: Tooltip im Systray ändern
Zitat:
Zitat:
Zitat:
Zitat:
Evtl. reicht´s aber auch, die Haupt-Form beim Start nicht anzeigen zu lassen. Da gab´s auch eine Befehlszeile dafür, allerdings muss das schon Jahre her sein, dass ich so was mit einem VCL-Programm gemacht habe. ... Soll heißen: ich weiß es im Augenblick nicht. |
Re: Tooltip im Systray ändern
'Morgen!
Erstmal vielen Dank an euch! :thuimb: Jetzt läuft's und meine App zeigt vernünftig ihren Status an! Jetzt zu dem anderen Problem: Zitat:
Delphi-Quellcode:
Habe aber noch nicht getestet ob das hilft...
[...]
Application.ShowMainForm:= false; [...] Sonst würde ich versuchen schon bei "Form.OnActivate" den Taskbar-Eintrag zu verstecken. Oder nimm ein anderes Ereignis, das auf jeden Fall vor OnShow auftritt, weil da wird ja erst die Form angezeigt und dann versteckt. [edit]Da wurde aus dem "versuchen" doch tatsächlich ein "verseuchen"...[/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:25 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