Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Hint aktualisieren (https://www.delphipraxis.net/89778-hint-aktualisieren.html)

Phantom1 5. Apr 2007 14:54


Hint aktualisieren
 
Ich möchte gerne einen Hint mehrmals in der Sekunde aktualisieren.
Wenn ich mit der Maus auf eine Komponente zeige wird der Hint angezeigt für ein paar sekunden, soweit ok. Nur dieser Hint aktualisiert sich nicht mehrmals in einer Sekunde, sondern erst wieder wenn ich mit der Maus erneut auf die Komponente zeige. Wie kann ich das ändern?

mfg

Schaedel 5. Apr 2007 14:56

Re: Hint aktualisieren
 
Was für ne Komponente meinst du?

Phantom1 5. Apr 2007 15:06

Re: Hint aktualisieren
 
Es ist die TJvTrayIcon (Jedi's). Aber spielt das überhaupt eine rolle?

ConstantGardener 5. Apr 2007 16:38

Re: Hint aktualisieren
 
Hallo Phantom,

wenn Du den Inhalt von Hint der Komponente änderst und danach Application.ShowHint aufrufst müsste sich der Text aktualisieren. Evtl. ist auch noch ein Application.Processmessages nötig um die Anzeige zu aktualisieren.

ConstantGardener

Phantom1 5. Apr 2007 17:10

Re: Hint aktualisieren
 
@ConstantGardener: Application.ShowHint bewirkt leider überhaupt nichts. Eine andere Idee?

mfg

Matze 5. Apr 2007 17:14

Re: Hint aktualisieren
 
So ohne weiteres dürfte das nicht möglich sein, denke ich. Notfalls musst du dir das über ein evtl. dynamisch erzeugtes Formular selbst basteln. Afaik ist ein Hint nicht für die "Live-Aktualisierung" vorgesehen.

Hawkeye219 5. Apr 2007 17:40

Re: Hint aktualisieren
 
Hallo,

für "normale" Komponenten ist das durchaus möglich. Wenn man einen Handler für das Ereignis TApplication.OnShowHint bereitstellt (z.B. über TApplicationEvents), dann kann man dort die Eigenschaften des HintWindows konfigurieren:

Delphi-Quellcode:
procedure TDemoForm.ApplicationEvents1ShowHint (var HintStr: String;
  var CanShow: Boolean; var HintInfo: THintInfo);
begin
  if (HintInfo.HintControl = TheControl) then // hier das gewünschte Control einsetzen
    HintInfo.ReshowTimeout := 100;           // hier die Zeit für die Aktualisierung in msec
end;
Ob das auch mit der TrayIcon-Komponente funktioniert, kann ich leider nicht sagen.

Gruß Hawkeye

Phantom1 5. Apr 2007 18:41

Re: Hint aktualisieren
 
@Hawkeye219: danke das funktioniert sehr gut!

mfg


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz