![]() |
Hint Ausgabe abschalten + umleiten auf eine Statusbar
Hallo,
ich habe meine OnHint der Applikation so umgeleitet, das sie in einer Statuszeile angezeigt wird. Klappt zwar noch nicht bei allen Componenten, liegt aber daran das diese zb kein ParentShowHint haben etc. Jetzt möchte ich aber die "normale" Anzeige des Hinttextes abschalten. Soll ja nicht doppelt angezeigt werden.
Delphi-Quellcode:
procedure TfrmBVSHHaupt.FormCreate(Sender: TObject);
begin .. Application.OnHint := DisplayHint; { Ereignis OnHint einer Procedure zuordnen } .. end; Und in der Procedure DisplayHint wird dann der Status Panel angesprochen:
Delphi-Quellcode:
procedure TfrmBVSHHaupt.DisplayHint(Sender: TObject);
begin spBVSHOfficeStatusbar.Panels.Items[4].Text := Application.Hint; { Das Ereignis OnHint wird mit dem Text an den Panel der Statusbar weiter gereicht } end; Nur wie schalte ich jetzt das kleine gelbe Hinweisfenster am Mousecursor ab? Hat einer eine Idee dazu? Thx. |
Re: Hint Ausgabe abschalten + umleiten auf eine Statusbar
Application.ShowHint oder TForm.ShowHint
|
Re: Hint Ausgabe abschalten + umleiten auf eine Statusbar
Hallo AirJordan,
du koenntest Application.Hint auf einen Leerstring setzen. Ist aber mal nur geraten... Greetz alcaeus |
Re: Hint Ausgabe abschalten + umleiten auf eine Statusbar
Hallo,
Generell umstellen in FormCreate:
Delphi-Quellcode:
kann aber auch Situationsabhängig genutzt werden.
Application.ShowHint := False;
|
Re: Hint Ausgabe abschalten + umleiten auf eine Statusbar
Ok, danke ersteinmal für die Hinweise. Ich werde das mal mit ShowHint der Application probieren. :???:
|
Re: Hint Ausgabe abschalten + umleiten auf eine Statusbar
Die geposteten Quelltexte funktionieren bei mir prima. Ich habe nur ein Problem damit:
In der StatusBar soll bei mir ein feststehender Text angezeigt werden. Solange ich keinen Hint angezeigt bekomme, klappt das auch. Nachdem der Hint wieder weg ist, ist die StatusBar aber leer. Wie kann ich den ursprünglichen Text wieder sichtbar machen? |
Re: Hint Ausgabe abschalten + umleiten auf eine Statusbar
Na du hast doch die Zuweisung von Application.Hint. Dann schau einfach ob der String leer ist und weise dann halt nicht Application.Hint zu sondern deinen Standardtext...
|
Re: Hint Ausgabe abschalten + umleiten auf eine Statusbar
Zitat:
|
Re: Hint Ausgabe abschalten + umleiten auf eine Statusbar
Zitat:
Die Hint Zuweisung erfolgt ja in der Procedure DisplayHint. Dort kannst du auch die Abfrage machen. |
Re: Hint Ausgabe abschalten + umleiten auf eine Statusbar
Hallo,
ich würde es so angehen:
Delphi-Quellcode:
Grüße vom marabu
procedure TDemoForm.ApplicationEventsActionExecute(Action: TBasicAction;
var Handled: Boolean); begin if Action is THintAction then with THintAction(Action) do if Hint = '' then begin Hint := PermaHint(); Handled := True; end; end; Nachtrag: Vielleicht sollte ich noch auf die Eigenschaft AutoHint der Komponente TStatusBar hinweisen, die eigenen Code zur Behandlung von Hints oft überflüssig macht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:02 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