Hallo VBler,
ich bin dran mit nem ListView Objekt eine Auftragsliste für ein BackUp Programm zu schreiben.
Das ListView Objekt sollte daher folgende Eigenschaften haben
+ Checkbox (True/False)
+ Jeden Eintrag im ListView änderbar
Die Checkbox benötige ich z.B.: zur Auswahl ob Unterverzeichnisse mit kopiert werden sollen oder nicht.
Die Edit Funktion um z.B: *.* ; *.BAT; usw. anzugeben
Folgendes hab ich zwar schon hinbekommen, allerdings klappts mit der Edit Funktion net so richtig.
Geht die x-Achse über mein ListView liefert mir mein EditFeld falsche Werte
Und wie die y-Achse auszuwerten geht hab ich auch noch net
Benötigt wird
+ ListView Name: livAuftraege
+ ImageList Name: imlChechbox (min. 4Icons 16x16)
+ TextBox Name: txtListViewEdit
+ CommandButton Name: Command
Option Explicit
Private m_iCurentColumn As Integer
Private Sub Command1_Click()
Dim itemX As ListItem
' ListView - Header
With frmMain.livAuftraege
' Spalten
.ColumnHeaders.Add , , "Quelle", 2000
.ColumnHeaders.Add , , "Datei (Wildcard)", 1500
.ColumnHeaders.Add , , "Ziel", 3000
.ColumnHeaders.Add , , "Unterver- zeichnisse", 1500
' Darstellung: Details
.View = lvwReport
.FullRowSelect = True
.LabelEdit = lvwManual
' Abbildungsliste zuordnen
.SmallIcons = frmMain.imlChechbox
' 1. Eintrag
Set itemX = .ListItems.Add(, , "vb@rchiv")
itemX.SubItems(1) = "info@vbarchiv.de"
itemX.ListSubItems.Item(1).ReportIcon = 2
itemX.SubItems(2) = "http://www.vbarchiv.de"
itemX.ListSubItems.Item(2).ReportIcon = 3
' 2. Eintrag
Set itemX = .ListItems.Add(, , "NoName")
itemX.SubItems(1) = "-"
itemX.ListSubItems.Item(1).ReportIcon = 4
itemX.SubItems(2) = "-"
itemX.ListSubItems.Item(2).ReportIcon = 4
' 3. Eintrag
Set itemX = .ListItems.Add(, , "roSoft")
itemX.SubItems(1) = "info@rosoft.de"
itemX.ListSubItems.Item(1).ReportIcon = 2
itemX.SubItems(2) = "http://www.rosoft.de"
itemX.ListSubItems.Item(2).ReportIcon = 3
' usw.
End With
End Sub
Private Sub livAuftraege_ItemClick(ByVal Item As MSComctlLib.ListItem)
Dim objColumn As ColumnHeader
With frmMain
' itemX.ListSubItems.Item(1).ReportIcon = 2
For Each objColumn In .livAuftraege.ColumnHeaders
If objColumn.Index <= m_iCurentColumn Then
.txtListViewEdit.Left = .livAuftraege.Left + objColumn.Left + ( _
16 * 20)
.txtListViewEdit.Width = objColumn.Width - (16 * 20)
If m_iCurentColumn > 1 Then
.txtListViewEdit.Text = .livAuftraege.ListItems.Item( _
Item.Index).SubItems(m_iCurentColumn - 1)
Else
.txtListViewEdit.Text = .livAuftraege.ListItems.Item( _
Item.Index).Text
End If
End If
Next
End With
' frmMain.Text1.Text = m_iCurentColumn
' frmMain.Text2.Text = Item.Index
End Sub
Private Sub livAuftraege_MouseDown(Button As Integer, Shift As Integer, x As _
Single, y As Single)
Dim objColumn As ColumnHeader
For Each objColumn In livAuftraege.ColumnHeaders
If objColumn.Left <= x And x <= (objColumn.Left + objColumn.Width) Then
m_iCurentColumn = objColumn.Index
End If
Next
End Sub |