Hi,
eine Listbox1 mit Multiselect-Eigenschaft hat x Einträge. Ziel ist, wenn der Anwender mit dem Mauszeiger über einem Eintrag verweilt, sich etwa wie beim Quickinfo ein Label öffnet, in dem sich ein kurzer oder längerer Erklärungstext befindet, damit der Anwender entscheiden kann, ob er den Eintrag klicken muß oder nicht. Wie könnte man so etwas programmieren?
Danke und Gruß
Wilhelm
Hi Wilhelm,
wenn die Anzahl der List-Elemente so klein ist, das kein Rollbalken entsteht, kannst Du das MouseMove-Event nutzen.
Ansonsten fällt mir keine (einfache) Lösung dazu ein.
Du könntest die List-Elemente in einem Array speichern, dann in einem Listfeld und mit Hilfe einer Scrollbar die Liste manuell füllen. Immer nur soviel, das kein „natürlicher“ Scrollbalken des Listen-Steuerelements entsteht.
Dann „weiss“ das Programm immer, welche List-Elemente gerade an welcher Stelle in der Liste stehen, und Du kannst doch noch das MouseOver-Event nutzen.
Aud diesen Trick hab ich auch schon mal bei einem ähnlichen Problem zurückgreifen müssen.
Gruß
Matthias
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hi Matthias,
Danke für Deine guten Tips. Da die Listbox viele Einträge enhält, habe ich mich entschieden, mit dem MouseUp-Ereignis zu arbeiten, das für den jeweilige Listeneintrag ein Label mit entsprechenden Hilfen öffnet.
Gruß
Wilhelm
Hallo
An deiner Stelle würde ich das ganze etwas eleganter lösen. Auf
meiner Homepage findest du unter dem folgenden Link wertvolle
Hinweise darüber, wie man herausfinden kann, über welchem
Listeneintrag sich der Mauszeiger gerade befindet.
http://www.deltaguild.com/tutorials.php?id=1023
Allerdings habe ich irgendwo einmal einen Tipp gesehen, bei dem man
für jeden Listeneintrag eine ToolTipText-Eigenschaft festlegen
konnte. Leider habe ich den Quellcode nicht mehr.
Mit freundlichen Grüssen
Samuel
Team: Name entfernt