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.