Einzelnen Beitrag anzeigen

OLLI_S

Registriert seit: 20. Aug 2006
19 Beiträge
 
Delphi 7 Architect
 
#7

Re: Verhalten diverser Komponenten ändern

  Alt 22. Okt 2006, 16:14
Hallo,

ich habe es umgesetzt und verwende jetzt das Ereignis "OnMouseMove" um die Hilfe anzuzeigen.

Habe jetzt nur ein "Problem":

Ich gebe den Hinweistext in einer Statuszeilen-Komponente aus.
Diese ist abgeleitet von TPanel und hat als Besonderheit links und rechts jeweils zwei Schaltflächen, mit der man überlange Texte scrollen kann.

Wenn ich also in dem Panel einen kurzen Text ausgebe, habe ich kein Problem. Gebe ich einen längeren Text aus, kann man den nicht komplett sehen, sondern muss die Scrolltasten drücken, um den Text zu scrollen.
Will man die Hilfe zu einem Eingabefeld ausgeben, drückt man die "Hilfe" Schaltfläche und bewegt die Maus auf das Eingabefeld. Der Hilfetext wird angezeigt, aber nicht komplett, da er zu lang ist.
Also bewegt man die Maus zu der Statusleite, um die Scrollbuttons zu drücken. Damit verlässt man das Eingabefeld (mit der Maus) und die Hilfe wird nicht mehr angezeigt.

Ich will in die Hilfe wenig aufwand stecken.
Momentan habe ich einfach nur normale Texte, die ich da anzeige.

Hints der einzelnen Komponenten sind keine Lösung, da die nicht dauerhaft angezeigt werden.
Wenn man die Maus bewegt, wverschwindet der Hint.

Die Lösung von "EC Software Help Suite" in der Demo.exe schaut gut aus: man klickt auf die Schaltfläche "Hilfe" und dann auf ein Element (ich würde onMouseMove verwenden) und die Hilfe wird dauerhaft angezeigt.
Aber leider muss ich dafür eine HLP Datei erzeugen. Viel zu viel Aufwand!
Ich will einfach nur einen Text ausgeben, ohne gleich eine HLP kompilieren zu müssen.

Gibt es denn keine Möglichkeit ein Hilfetext wie bei "EC Software Help Suite" ausgeben zu lassen, und dabei den Text einfach als "Caption" zu übergeben?
Vielleicht mache ich ein Fenster, das ich als ToolFenster definiere und gebe dort die Hilfe aus.
Meine Frage ist nur, wie ich es dynamisch an den Mauszeiger binde, so dass es immer mit der Maus verschoben wird.

Oder hat jemand eine bessere Idee?

Gruß


OLLI
  Mit Zitat antworten Zitat