![]() |
BalloonTimeout bei TTrayIcon geht nicht
Moin zusammen.
Ich benutzte bei meine TrayIcon die Sprechblase um Informationen anzeigen zu lassen. Nun möchte ich das die Sprechblase nach einer gewissen Zeit von selbst verschwindet. Dazu habe ich die Eigenschaft BalloonTimeout auf 1000 gesetzt. Aber die Sprechblase verschwindet einfach nicht. Wo liegt das Problem? Vielen Dank. |
Re: BalloonTimeout bei TTrayIcon geht nicht
Hallo
![]() Mögliche Lösung: Mal im Quelltext schauen, wie BalloonTimeout zu verwenden ist oder ob es sich tatsächlich um einen Bug handelt. Ansonsten auf eine andere TrayIcon Komponente (z.B CoolTrayIcon) ausweichen. |
AW: BalloonTimeout bei TTrayIcon geht nicht
So, nun habe ich wieder ein Projekt mit einem BalloonHint und der 'Bug' ist in DelphiXE immer noch vorhanden.
Ich habe das Problem damals per Timer gelöst, der nach ns BalloonHint auf '' setzt... dann verschwindet er auch... Nun möchte ich in meinem neuen Projekt diese zusätzlichen Timer aber nicht haben, da diese (und das ganze Starten und Stoppen usw.) dan Quellcode unübersichtlich macht. Deswegen habe ich mir gedacht ich mache mir einfache eine von TTrayIcon abgeleitete Komponete, welche einen Timer enthält. Das habe ich soweit auch schon gemacht:
Delphi-Quellcode:
Nur fehlt mir das Ergeifnis wenn der BalloonHint angezeigt wird. In diesem muss ich den Timer dann ja starten.
unit MyTrayIcon;
interface uses ExtCtrls, Classes; type TMyTrayIcon = class(TTrayIcon) private FBallonShowInterval: cardinal; FTimer: TTimer; protected public published constructor Create(Owner: TComponent); override; destructor Destroy; override; property BallonShowInterval: cardinal write FBallonShowInterval; end; procedure Register; implementation uses SysUtils; procedure Register; begin RegisterComponents('MyComponents', [TMyTrayIcon]); end; { TMyTrayIcon } constructor TMyTrayIcon.Create(Owner: TComponent); begin inherited; FTimer := TTimer.Create(self); end; destructor TMyTrayIcon.Destroy; begin if assigned(FTimer) then FreeAndNil(FTimer); inherited; end; end. TTrayIcon hat aber nur diese Ereignisse: Zitat:
Noch eine OT Zusatzfrage: Muss ich im destructor eigentlich
Delphi-Quellcode:
machen?
FreeAndNil(FTimer);
Im Konstruktor habe ich ja einen Owner angegeben. Wenn dieser freigegeben wird, werden doch auch automatisch alle Objekte welche dieses Objekt als Owner haben freigegeben, oder? |
AW: BalloonTimeout bei TTrayIcon geht nicht
*push*
|
AW: BalloonTimeout bei TTrayIcon geht nicht
Keiner eine Idee :(
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:33 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