Wer glaubt, mit dem Standard ListBox-Control lasse sich keine "echte" mehrspaltige Liste erstellen, ist im Irrtum! Die einzelnen Zellenwerte brauchen hierbei nämlich lediglich durch ein Tabulator-Zeichen voneinander getrennt angegeben werden. List1.AddItem "Otter" & vbTab & "Dieter" & vbTab & "info@tools4vb.de" Das Ganze hat allerdings einen entscheidenden Nachteil: unterschiedlich lange Spaltentexten innerhalb der einzelnen Datenzeilen werden oftmals nicht sauber untereinander dargestellt: List1.AddItem "Otter" & vbTab & "Dieter" & vbTab & "info@tools4vb.de" List1.AddItem "Müller-Meier" & vbTab & "Karl-Heinz" & vbTab & "info@tools4vb.de"
Das liegt aber einfach nur daran, dass die "internen" Tabulator-Positionen (TabStops) der ListBox fix eingestellt sind und bei längeren Texten einfach übergangen werden. Was liegt also näher, die Tabulator-Positionen (TabStops) selbst zu definieren? Option Explicit ' benötigte API-Deklarationen Private Declare Function SendMessage Lib "user32" _ Alias "SendMessageA" ( _ ByVal hwnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ lParam As Any) As Long Private Const LB_SETTABSTOPS = &H192 Public Sub ListBox_SetTabStop(ByVal oList As Object, _ ParamArray vTabValue()) Dim nCount As Long Dim nTab() As Long Dim i As Long ' TabStop-Werte in ein 1-basierendes Array speichern nCount = UBound(vTabValue) + 1 ReDim nTab(1 To nCount) For i = 1 To nCount nTab(i) = vTabValue(i - 1) Next i ' TabStop-Werte zuweisen SendMessage oList.hwnd, LB_SETTABSTOPS, nCount, nTab(1) End Sub Achtung! Die Prozedur ListBox_SetTabStop erwartet die Angabe der Tabulator-Positionen in Pixel! Beispiel für den Aufruf: ' Tabulator-Positionen festlegen ListBox_SetTabStop List1, 70, 120 ' Einträge sauber untereinander anzeigen List1.AddItem "Otter" & vbTab & "Dieter" & vbTab & "info@tools4vb.de" List1.AddItem "Müller-Meier" & vbTab & "Karl-Heinz" & vbTab & "info@tools4vb.de"
Dieser Tipp wurde bereits 8.108 mal aufgerufen.
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv (einschl. Beispielprojekt!) Ein absolutes Muss - Mehr als 650 MByte geballtes Wissen! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - Online-Update-Funktion u.v.m. |
Access-Tools Vol.1 ![]() Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB Buchempfehlung Tipp des Monats Dieter Otter Snapshot einer Webseite erstellen Mit dieser Funktion lässt sich ein Snapshot einer Webseite erstellen, die aktuell im WebBrowser-Control angezeigt wird. sevDTA32 Pro ![]() DTA mit Kontonummernprüfung Erstellen von DTA-Dateien mit integriertem BLZ-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. |
||||||||||||||||
|
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |
|||||||||||||||||


Mehrspaltige Listen mit der Standard ListBox






