Einzelnen Beitrag anzeigen

kmma

Registriert seit: 26. Jul 2010
16 Beiträge
 
Delphi 2 Desktop
 
#6

AW: TTrayicon.BalloonHint entfernen

  Alt 27. Jun 2024, 09:50
NIN_BALLOONHIDE
Das wird aber nur von Windows als Notification an die Application wenn der Balloon verschwindet. Es ist keine Message um das zu steuern.

Der korrekte Weg ist das BalloonHint Property einfach leer zu setzen. Den nachfolgenden ShowBalloonHint-Aufruf kann man sich sparen. Übrigens auch das Leeren des BalloonTitle.

Hmmm, das kann ich so nicht nachvollziehen.

(Delphi 12.1) Ich habe mir 2 Buttons auf ein Formular gezogen und folgenden Code eingefügt:


Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  TrayIcon1.BalloonHint := 'This is a Balloon Hint ' + formatdatetime('hh:mm:ss.zzz', now);
  TrayIcon1.BalloonTitle := 'Hint Title';
  TrayIcon1.ShowBalloonHint;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  TrayIcon1.BalloonHint := '';
end;

Jetzt klickt man 5 mal abwechselnd (im Sekundentakt) auf Button1 und Button2. Der erste Hint verschwindet noch wenn man Button2 klickt. Dann kommen aber nach jeweils ca. 10 Sekunden die restlichen Hints (mit einem Zeitstempel der ca. eine Sekunde auseinander liegt).
Da wird also scheinbar nicht gelöscht sondern eine Warteschlange angelegt.

Geändert von kmma (27. Jun 2024 um 10:03 Uhr)
  Mit Zitat antworten Zitat