Einzelnen Beitrag anzeigen

einbeliebigername

Registriert seit: 24. Aug 2004
140 Beiträge
 
Delphi XE8 Professional
 
#25

AW: Hint im Statusbar anzeigen

  Alt 26. Feb 2012, 13:30
Hallo,

ersteinmal einen großen dank an 'einbeliebigernam'. Du hast das problem verstanden. ich fand es jetzt auch nicht so schwer erklärt. aber wurscht....
habe auch mal deinen code umgesetzt und da funktioniert das auch wunderbar (ja perlsau, es funktioniert tatsächlich!!! kaum zu glauben, oder?)

Habe diese einstellungen auch bei meinem statusbar, allerdings läuft es trotzdem nicht. muss mir das nochmal genau anschauen, denn das erstellen eines neuen statusbar ändert auch nichts.
Ich hätte mir gewünscht wenn du meine zwei Fragen beantwortest hättest. Also nochmal. Die genaue Delphi-Version (Nummer und ob mindestens Pro oder nicht) brauchen wir. Und dann markiere mal bitte deine Statusbar, drücke Strg+C und dann hier im Beitragseditor auf den Delphi-Helm und dann Strg+V. Sollte dann in etwa so aussehen.

Delphi-Quellcode:
object StatusBar1: TStatusBar
  Left = 0
  Top = 274
  Width = 633
  Height = 19
  Hint = 'Test3'
  AutoHint = True
  Panels = <>
  SimplePanel = True
end
Ich habe mir mal im Delphi XE angeschaut, wie der Hint-Text in die Statusbar kommt. In TCustomStatusBar.ExecuteAction wird, wenn die Übergebene Action eine THintAction ist, AutoHint der Statusbar gleich True und OnHint der Statusbar NIL ist, der Hint-Text aus der übergebenen Action in die Eigenschaft SimpelText der Statusbar oder in die Eigenschaft Text des ersten Statusbar-Panels gegeben. In meinem Beispielcode wird der Prozess durch Application.Idle angestoßen.
Allein nur auf dem Weg vom Idle bis zum TCustomStatusBar.ExecuteAction existieren ein halbes Dutzend Störquellen. Ich zähle mal einige auf: OnHint von Application ist gesetzt, OnActionExecute von Application liefert bei THintAction ein True, die Statusbar befindet sich gerade nicht auf dem aktiven Formular, usw.

Am einfachsten wäre es wenn du das mal durchdebuggst. Gute Stellen für Haltepunkte währen TApplication.SetHint , TCustomStatusBar.ExecuteAction und TCustomForm.ActionExecute . Bei TCustomForm.ActionExecute müsste man aber mit einer Haltepunkt-Bedingung alla TBasicAction(Message.LParam) is THintAction arbeiten.

einbeliebigername.
  Mit Zitat antworten Zitat