FListView

PropertyDatentyp(Read/Write)Hinweise
LeftInteger (R/W) Linke Position
TopInteger (R/W) Obere Position
WidthInteger (R/W) Weite
HeightInteger (R/W) Höhe
ClientHeightInteger (R) Höhe des Clientbereiches
ClientWidthInteger (R) Breite des Clientbereiches
VisibleInteger (R/W) TRUE = sichtbar (voreingestellt) ; FALSE = nicht sichtbar
EnabledInteger (R/W) TRUE = aktiv (voreingestellt) ; FALSE = inaktiv
ColorUInteger (R/W) Hintergrundfarbe ; voreingestellt ist hellgrau
TextColorUInteger (R/W) Textfarbe ; voreingestellt ist schwarz
HandleHWND (R) Handle des Control(nur lesen !)
BorderInteger (W) Umrandung :   0   ohne (voreingestellt); 1  sunken; 2  Border
AutoSortInteger (R/W) 0 = ohne; 1 aufteigend(def) ; 2 = absteigend
UserSortInteger (R/W) 1 = Text aufsteigend ; 2 = Zahle aufsteigend
3 = Text absteigend ; 4 = Zahle absteigend
Hinweis: UserSort bewirkt eine Sortierung der Col. auf dessen Header geklickt wird. Autosort ist dann Null
CheckBoxesInteger (R/W) TRUE = Item mit Checkbox ; FALSE =ohne
GridLineInteger (R/W) TRUE = mit GridLine ; FALSE = ohne
SetViewInteger (R/W) 0 = REPORT; 1 = ICON; 2 = SMALLICON; 3 = LIST
ColCountInteger (R) Anzahl der Spalten
RowCountInteger (R) Anzahl der Zeilen
ImgLargeHANDLE (W) Handle der Imagelist
ImgSmallHANDLE (W) Handle der Imagelist
SUB ArgumenteHinweis
SUB Create (ByVal hParent As HWND,
ByVal x As Integer,ByVal y As Integer,ByVal w As Integer,ByVal h As Integer )
Handle des Elternfenster
Dimensionen x,y,Weite,Höhe
SUB AddColum (sName As String,ByVal nWidth As Integer,ByVal align As Integer) Name , Weite (in Pixel) und Aligement ( 0=links,1=mitte,2=rechts) der Spalte.
Function AddItem (text As String , ByVal bildNr As Integer ) As Integer Item-Text, Bild-Nr. der Imagelist. Wenn kein Bild angezeigt werden soll, dann -1.
Zurückgegeben wird die Zeilen-Nr. Die kann bei AddSubItem genutzt werden
Sub AddSubItem (ByVal row As Integer,ByVal col As Integer,text As String) Zeilen-Nr., Spalten-Nr. ( Die Spalte 0 ist das Item- das erste SubItem hat Spalte 1), Text
Sub GetItemText (ByVal row As Integer,ByVal col As Integer,text As String) Zeilen-Nr., Spalten-Nr. ( Die Spalte 0 ist das Item- das erste SubItem hat Spalte 1),
text liefert den Inhalt als String
Function IsCheck ( ByVal nItem As Integer) As Integer nItem entspricht der Zeilen Nr.;Liefert True wenn Check sonst False
Sub SetCheck ( ByVal nItem As Integer,ByVal check As Integer) nItem entspricht der Zeilen Nr.; True = setzt Check; False = Uncheck
Sub DelItem (ByVal Row As Integer) löscht die Zeile
Sub Clear ohne löscht den gesamten Inhalt
Event SUBArgumenteHinweis
onDblClick( ByVal item As Integer,szItem As ZString) Zeilen-Nr. und Item-Text
onClick( ByVal item As Integer,szItem As ZString) Zeilen-Nr. und Item-Text
onReturn( ByVal item As Integer,szItem As ZString) Zeilen-Nr. und Item-Text
onLButtondown(ByVal nItem As Integer,ByVal nSubItem As Integer) Zeilen-Nr, Spalten-Nr.
onColumClick( ByVal Colum As Integer) Spalten-Nr.

 

Beispiel :
        
    #Include "winFBgui.bi"
    
    Dim Shared As FForm form1 
    Dim Shared As FButton Btn1
    Dim Shared As FListView lisv1,listv2
    Dim Shared As FImageList Ptr image1
    Dim Shared As FStatusbar status1
    
    image1 = New FImageList
    '------------------------------- EventSub-------------------------
    Sub btn1_Click		
    	form1.FormClose
    End Sub
    '
    Sub lisv1_ColumClick(ByVal col As Integer)
    	If col =0 Then lisv1.UserSort = 1
    	If col >0 Then lisv1.UserSort = 2    	
    End Sub
    '
    Sub form1_Size(ByVal x As Integer,ByVal y As Integer,ByVal f As Integer)
    	SendMessage(status1.Handle,WM_SIZE,x,y)
    End Sub
    ' ----------------------------------------------------------------
       
    ' Fenter erstellen
    form1.Create("Test 1",90,90,600,420)
    form1.Color = &HFFDDAA
    form1.onSize = @form1_Size
    ' Statusbar
    status1.Create(form1.Handle)
    status1.AddPanels(50)
    status1.AddPanels(-1)
    status1.SetPanelText(0,"INS")
    status1.SetPanelText(1,"Letzter Part mit Weite -1")
    
    ' Button erstellen									
    Btn1.Create(form1.Handle,"Exit",250,300,100,60)
    Btn1.Image("166.jpg")
    Btn1.onClick = @btn1_Click
    Btn1.Color = &HfBeBdB
    
    'Listview 1
    lisv1.Create(form1.Handle,10,10,335,260)
    lisv1.Color = &HfBeBdB
    lisv1.TextColor = &HFF0000
    lisv1.onColumClick = @lisv1_ColumClick
    'lisv1.AutoSort = 2
    lisv1.AddColum("Name",140,0)
    lisv1.AddColum("Size",100,1)
    lisv1.AddColum("Datum",120,1)
    ' Imagelist für Listview 1
    image1->Create(5,16,16)
    lisv1.Imgsmall = image1->Handle
    lisv1.ImgLarge = image1->Handle
       
    'Listview 2
    listv2.Create(form1.Handle,370,10,175,260)
    listv2.Color = &HEEEEEE
    listv2.TextColor = &H800080
    listv2.AutoSort = 1
    listv2.AddColum("ItemName",170,0)
    listv2.CheckBoxes = TRUE
    
    listv2.AddItem("Border" , -1)
    listv2.AddItem("Hint" , -1)		' Wird auf Check gesetzt
    listv2.AddItem("TabOrder" , -1)
    listv2.AddItem("Text" , -1)
    
    listv2.SetCheck(1,TRUE)
    
    
    ' Listview akt. Dir einlesen
    '---------------------------------------------------------
    DIM AS String fi, dat
    DIM As Integer ln,zeile , idx
    Dim d AS DOUBLE
    Dim szPat As ZString * MAX_PATH
    Dim nIcon As Short
    Dim As HICON hIcon
    
    idx = 0
    fi = DIR("*.*")
    Do
    	nIcon = 0
    	szPat = fi
    	hIcon = ExtractAssociatedIcon(GetModuleHandle(0),@szPat, @nIcon)
    	If hIcon <> 0 Then
    	 image1->AddIconHandle(hIcon)
    	End if 
    	zeile =lisv1.AddItem( fi , idx)
    	
    	ln = FILELEN(fi)
    	lisv1.AddSubItem(zeile,1,Str(ln))
    	
    	d = FileDateTime( fi )
     	dat = Str(Format(d, "dd.mm.yyyy hh:mm"))
    
    	lisv1.AddSubItem(zeile,2,dat)
    	
    	idx = idx + 1 
    	fi = DIR()
    Loop WHILE LEN(fi)
    		
    ' alles anzeigen
    form1.Show 
    Delete image1
    ExitProcess(0)
    End
   
So sieht es aus:
Listview