VB 4/6- und VBA-Forum - Beitragsübersicht -
ThemaVB6: Listbox mehrspaltig auslesen
Von It's me
Datum 30. September 2015 um 19:40:06
Frage Hallo ich such nach einer lösung wie man eine Listbox mehrspaltig auslesen kann. Ich finde nichts und da dacht ihr wisst sicher Rat.
Option Explicit

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

nCount = UBound(vTabValue) + 1
ReDim nTab(1 To nCount)
For i = 1 To nCount
nTab(i) = vTabValue(i - 1)
Next i

SendMessage oList.hwnd, LB_SETTABSTOPS, nCount, nTab(1)
End Sub

Private Sub Form_Load()
ListBox_SetTabStop List1, 170, 250

List1.AddItem "Google" & vbTab & "www.google.com" & vbTab & "such & find"
List1.AddItem "VB-Fun" & vbTab & "http://www.vb-fun.de/cgi-bin/loadframe.pl?ID=vb/forum/vbforum.shtml" & vbTab & "VB Forum"
End Sub

Private Sub Label1_Click(Index As Integer)
Label2.Caption = List1.List(Label1(Index, 1).Index) 'List1.List(0, 0) so hab ich das im inet gefunden, funktioniert aber nicht zumindest nicht im VB6
End Sub
Ich möchte gern das Spalte(0) in Label1(index).Index geschrieben wird, Spalte(1) in Label2.Caption und Spalte(2) in Label3.Caption


Vielen dank schon mal
Antwort:
Von BAGZZlash
Datum 01. Oktober 2015 um 16:15:29
Antwort Ach doch, wenn man reinschaut, sieht man, dass es doch mehrspaltige ListBoxen gibt. Wusste ich nicht. Siehe hier.

Okay, dann brauchst Du das hier ja sicher nicht:
Option Explicit

Private Sub Command1_Click()

List1.Clear
List1.AddItem "Dies" & vbTab & "ist" & vbTab & "ein" & vbTab & "Test!"
List1.AddItem "Wort1" & vbTab & "Wort2"

End Sub

Private Sub Command2_Click()

Dim Columns() As String

Columns = GetColumns(Form1.List1)

MsgBox Columns(0, 0)
MsgBox Columns(0, 1)
MsgBox Columns(1, 0)

End Sub

Function GetColumns(MyList As Object)

Dim RetVal() As String
Dim n As Long
Dim i As Long
Dim j As Long
Dim MaxColumns As Long
Dim SplitTemp() As String

n = MyList.ListCount

For i = 0 To n - 1
SplitTemp = Split(MyList.List(i), vbTab)
If UBound(SplitTemp) > MaxColumns Then MaxColumns = UBound(SplitTemp)
Next

ReDim RetVal(0 To n - 1, 0 To MaxColumns) As String

For i = 0 To n - 1
SplitTemp = Split(MyList.List(i), vbTab)
For j = 0 To UBound(SplitTemp)
RetVal(i, j) = SplitTemp(j)
Next
Next

GetColumns = RetVal

End Function
[ Antwort schreiben | Zurück zum VB 4/6- und VBA-Forum | Forum-Hilfe ]
Antworten
VB6: Listbox mehrspaltig auslesen - It's me 30. September 2015 um 19:40:06
Re: Listbox mehrspaltig auslesen - BAGZZlash 30. September 2015 um 20:36:45
Re: Listbox mehrspaltig auslesen - BAGZZlash 01. Oktober 2015 um 16:15:29
Re: Listbox mehrspaltig auslesen - It's me 01. Oktober 2015 um 18:53:55
Re: Listbox mehrspaltig auslesen - BAGZZlash 01. Oktober 2015 um 23:13:53
Re: Listbox mehrspaltig auslesen - Rippler 01. Oktober 2015 um 23:26:22
Re: Listbox mehrspaltig auslesen - It's me 02. Oktober 2015 um 10:23:48
Re: Listbox mehrspaltig auslesen - Rippler 02. Oktober 2015 um 11:26:38
Re: Listbox mehrspaltig auslesen - It's me 02. Oktober 2015 um 14:43:06

Ihre Antwort
(Nick-)Name   Wichtige Informationen zur Namensangabe
E-Mail (opt.)  Wichtige Informationen zur Angabe einer eMail-Adresse
Thema   Wichtige Informationen zur Angabe eines Themas
Betrifft (IDE)  Visual Basic 6 (*.exe)
Ihre Antwort
Smilies
Mehr...
FettKursivUnterstrichen   Übersicht der Tipp-KürzelÜbersicht der Projekt-KürzelÜbersicht der Bücher-Kürzel 
Homepage
Titel
Root-Smilies              
             
             
[ Zurück zum VB 4/6- und VBA-Forum | Forum-Archiv | Forum-Hilfe | Chat ]

Zum Seitenanfang

Startseite | VB-/VBA-Tipps | Projekte | Tutorials | API-Referenz | Komponenten | Bücherecke | Gewinnspiele | VB.Net | .Net-Forum | DirectX | DirectX-Forum | Chat | Ausschreibungen | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Sonntag, 13. Dezember 2015