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. ListBox1.Items.Add("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: ListBox1.Items.Add("Otter" & vbTab & "Dieter" & vbTab & "info@tools4vb.de") ListBox1.Items.Add("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 Integer, _ ByVal wMsg As Integer, _ ByVal wParam As Integer, _ ByRef lParam As Integer) As Integer Private Const LB_SETTABSTOPS = &H192 Public Sub ListBox_SetTabStop(ByVal oList As ListBox, _ ByVal ParamArray nTabs() As Integer) Dim nCount As Integer = nTabs.Length + 1 ' TabStop-Werte zuweisen SendMessage(oList.Handle.ToInt32, LB_SETTABSTOPS, nCount, nTabs(0)) End Sub Wichtig! Die Prozedur ListBox_SetTabStop erwartet die Angabe der Tabulator-Positionen in Pixel! Beispiel für den Aufruf: ' Tabulator-Positionen festlegen ListBox_SetTabStop ListBox1, 70, 120 ' Einträge sauber untereinander anzeigen With ListBox1.Items .Add("Otter" & vbTab & "Dieter" & vbTab & "info@tools4vb.de") .Add("Müller-Meier" & vbTab & "Karl-Heinz" & vbTab & "info@tools4vb.de") End With Dieser Tipp wurde bereits 23.165 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevISDN 1.0 ![]() Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats sevZIP40 Pro DLL ![]() Zippen und Unzippen wie die Profis! Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. |
||||||||||||||||
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. |