Stevie Geschrieben 2. Juni 2003 Geschrieben 2. Juni 2003 Neues Problem: Ich hab mein Programm aus der Taskleiste in den Tray verbannt, und zwar so:procedure TfrmMyProgram.FormShow(Sender: TObject); begin ShowWindow(Application.Handle, SW_HIDE); with TrayIcon do begin cbSize := SizeOf(TrayIcon); Wnd := Handle; uID := 0; uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP; uCallbackMessage := IC_CLICK; hIcon := Application.Icon.Handle; szTip := 'Mein Programm'; end; Shell_NotifyIcon(NIM_ADD, @TrayIcon); end; Nun will ich bei einem bestimmten Ereignis das Icon ändern, sodass man sieht, dass etwas passiert ist. Ich hab schon das hier versucht:var MyIcon: TIcon; begin MyIcon.LoadFromFile('MyIcon.ico'); <-- IconDatei im Project-Verzeichnis TrayIcon := MyIcon.Handle; end;Das Icon ändert sich nicht, und wenn ich das Fenster öffne, kann ich es nicht mehr minimieren! Was mache ich falsch?
Klotzkopp Geschrieben 2. Juni 2003 Geschrieben 2. Juni 2003 Du musst das neue Handle an TrayIcon.hIcon zuweisen. Außerdem musst du noch Shell_NotifyIcon mit NIM_MODIFY aufrufen.
Stevie Geschrieben 2. Juni 2003 Autor Geschrieben 2. Juni 2003 Ich Depp! Das hab ich auch gemacht, aber vergessen, es hinzuschreiben, so:var MyIcon: TIcon; begin MyIcon.LoadFromFile('MyIcon.ico'); <-- IconDatei im Project-Verzeichnis TrayIcon.hIcon := MyIcon.Handle; Shell_NotifyIcon(NIM_MODIFY, @TrayIcon); end;Es klappt so aber nicht. TrayIcon ist global.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden