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? Zitieren
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. Zitieren
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. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.