Heute geht es um die Listbox

Hallo
nun schlage ich mich mit Listboxen rum, genauer habe ich die ListEx von Anno bekommen, damit ich die Listenelemente bunt machen kann.

Tja und wie ich da so vor mich hinwurschtel kommen auch schon die ersten Probleme.

Daten auflisten schön und gut, bloß bräuchte ich eigentlich zwei Bereiche in der Liste, Nummer und Text, also eigentlich zwei Spalten.
Nun gibts beim ListEx keine Spalten, oder???

Da die Nummer variieren kann, verschiebt sich der Text dahinter natürlich entsprechend, wenn es Unterschiede in der Zeile gibt.
Die Nummer mit Leerzeichen aufzufüllen, das alle gleich lang sind, bringt auch nix, weil ein Leerzeichen kürzer ist als eine 0 in der Darstellung. Vielleicht gibts sowas wie Nummer & Tab & Text oder so
das alles gleich eingerückt wird.

Nun habe ich schon überlegt zwei Listen parallel zu legen, das wäre gut, aber ich muß sie auch beide parallel scrollen können.
Dann wäre auch das Problem der Verschiebung gelöst.
Sie müssen aber Zeilenmäßig kombiniert sein, das die Zeilen zusammengehören.

Weiss da jmd Rat???

Mfg Werner

Hallo Werner,

nun schlage ich mich mit Listboxen rum, genauer habe ich die
ListEx von Anno bekommen, damit ich die Listenelemente bunt
machen kann.

Tja und wie ich da so vor mich hinwurschtel kommen auch schon
die ersten Probleme.

Daten auflisten schön und gut, bloß bräuchte ich eigentlich
zwei Bereiche in der Liste, Nummer und Text, also eigentlich
zwei Spalten.
Nun gibts beim ListEx keine Spalten, oder???

Richtig, gibt’s nicht. Wenn Du mehrere Spalten brauichst, ist List halt das falsche Steuerelement.

Da die Nummer variieren kann, verschiebt sich der Text
dahinter natürlich entsprechend, wenn es Unterschiede in der
Zeile gibt.
Die Nummer mit Leerzeichen aufzufüllen, das alle gleich lang
sind, bringt auch nix, weil ein Leerzeichen kürzer ist als
eine 0 in der Darstellung.

Nur bei Truetype-Sriftarten. Wenn Du ‚Courier‘ nimmst sind alle Zeichen gleich breit.

Vielleicht gibts sowas wie Nummer &
Tab & Text oder so
das alles gleich eingerückt wird.

Nun habe ich schon überlegt zwei Listen parallel zu legen,
das wäre gut, aber ich muß sie auch beide parallel scrollen
können.

Das geht. Du hast ein Scroll-Ereignis und die Methode ‚.TopIndex‘.

Dann wäre auch das Problem der Verschiebung gelöst.
Sie müssen aber Zeilenmäßig kombiniert sein, das die Zeilen
zusammengehören.

Das mußt Du selbst verwalten.

Gruß, Rainer

nochmal kurz
Danke,
wenn der TExt nicht allzu doof aussieht mache ich das einfach mit Courier, gibts noch andere Texte die gleiche Länge haben???

Was noch schön wäre, wäre eine formale Trennung der Daten in Form einer Linie, wenns schon keine Spalten gibt.
Leider legt sich die Linie nicht über das Listenfeld, kennt da jmd einen Trick bzw. ein anderes Steuerelement.

Habs schon mit einer 2.Liste versucht, die ganz dünn bleibt, hatte aber nicht den gewünschten Erfolg.

Mfg Werner

Hallo Werner,

wenn der TExt nicht allzu doof aussieht mache ich das einfach
mit Courier,

Schreibmaschine. … Doch, sieht nicht gut aus.

gibts noch andere Texte die gleiche Länge
haben???

Ja. Wenn Du den Font auswählst, steht der Typ dabei. Bei Courier steht nichts, bei einigen anderen auch nicht. … Nicht probiert. Such Dir einfach etwas raus und sieh’s Dir an. ‚FixedSys‘ scheint auch nicht scaliert zu sein (erster Eindruck) und sieht vernünftig aus.

Was noch schön wäre, wäre eine formale Trennung der Daten in
Form einer Linie, wenns schon keine Spalten gibt.
Leider legt sich die Linie nicht über das Listenfeld, kennt da
jmd einen Trick bzw. ein anderes Steuerelement.

Habs schon mit einer 2.Liste versucht, die ganz dünn bleibt,
hatte aber nicht den gewünschten Erfolg.

Ich versteh wieder ‚Bahnhof‘. Was für 'ne Linie? Reden wir nicht von Text?

Gruß, Rainer

Hallo, Werner!

Ich kenne das Control nicht, aber wenn die erste „Spalte“ immer relativ gleich breit ist, versuche mal, die Trennung mit vbTab hinzubekommen. Dann ist wenigstens der Anfang der zweiten „Spalte“ konstant, wenn denn das Tab-Zeichen als solches dargestellt wird. Habe ich bei der „normalen“ Listbox unter VBA so gemacht.

Das mit der Linie ließe sich dann bestens über | machen, allerdings ist die Linie dann ja auch nicht durchgehend. Aber vielleicht funzt Tab ja…

Gruß, Manfred

Ich versteh wieder ‚Bahnhof‘. Was für 'ne Linie? Reden wir
nicht von Text?

Er meint so eine Trennlinie wie in einer Tabelle. Vermute ich jedenfalls…

Hallo Werner,

Habs schon mit einer 2.Liste versucht, die ganz dünn bleibt,
hatte aber nicht den gewünschten Erfolg.

ich habe gerade mal herumexperimentiert. Ich denke, ich bin über dein Problem gestolpert.

Mit einigen Steuerelementen (z.B.: Flexgrid) funktioniert das Mausrad nicht und in der Liste löst das scrollen mit dem Mausrad kein Ereignis aus.
War das Dein Problem?
Eine Lösung habe ich auch noch nicht gefunden.

Gruß, Rainer

Text und vbTab
Hallo werds mal mit beiden probieren, denke schon,
das es so klappen müßte.
Muß mal nochmal testen mit anderen Steuerelementen, irgendwo gibts sicher ne Möglichkeit, ne Linie oder etwas gleichartiges drüberzulegen.

Mfg Werner