![]() |
TrayIcon wird nicht zerstört
hi,
ich benutze in meinen Programmen ungern externe Komponenten, außer es gibt einen guten Grund dafür. nun, ein tray icon ist kein grund für mich eine externe komponente zu nutzen. Also hab ich mir mit hilfe des freundes google und der MSDN das hier zusammengefrickelt:#
Delphi-Quellcode:
TTrayIcon = class (TObject)
public class procedure OnMessage (var Msg: TMessage); end;
Delphi-Quellcode:
Funktioniert wunderbar und so wie es soll.
Fillchar(NotifyIconData,Sizeof(NotifyIconData),0);
NotifyIconData.cbSize := Sizeof(NotifyIconData); NotifyIconData.Wnd := AllocatehWnd(TTrayIcon.OnMessage); NotifyIconData.uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP; NotifyIconData.uCallbackMessage := WM_TASKABAREVENT; NotifyIconData.hIcon := Application.Icon.Handle; StrPLCopy(NotifyIconData.szTip, PChar ('FLAP ' + Version), SizeOf(NotifyIconData.szTip) - 1); Shell_NotifyIcon(NIM_ADD, @NotifyIconData); Application.OnMinimize := Form1.OnMinimize; Im OnClose event habe ich das hier noch drin:
Delphi-Quellcode:
Nur wird das TrayIcon weiterhin auch nach schließen weiterhin angezeigt. Was hab ich da übersehen? THX
TrayIcon.Free;
MfG |
Re: TrayIcon wird nicht zerstört
Fahr mal mit der Maus darüber.
|
Re: TrayIcon wird nicht zerstört
Ja, dann gehts weg ;) das hab ich auch schon bemerkt. Aber ich hätte doch gerne das es von selbst verschwindet. Muss ja schließlich zu machen sein :P
|
Re: TrayIcon wird nicht zerstört
Liegt nicht am Programm, sondern am Tray ( Explorer.exe)
|
Re: TrayIcon wird nicht zerstört
wie das liegt an der Explorer.exe? bei anderen programmen (wo man das trayicon aus und einschalten kann) funktioniert es doch auch o_O. Und es ist auf XP, Vista und 7 der fall, also denk ich nicht das das ein fehler von MS ist sondern eher einer von mir.
|
Re: TrayIcon wird nicht zerstört
Ich vermisse den Aufruf von
Delphi-Quellcode:
beim Freigeben.
Shell_NotifyIcon(NIM_DELETE, @NotifyIconData);
|
Re: TrayIcon wird nicht zerstört
Perfekt! DANKE!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:11 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