DEF @GetSysColor(1) !"USER32","GetSysColor"
Settruecolor 1
Declare CLASSNAME$,LVHandle&,HWND&,OK&,ProgressZähler&,LVC#,TXT$,Text#,Text&,LVI#,Back&,Gewählt&
Windowstyle 31
Windowtitle "ListView"
Window 0,0-640,440
CLS @getsyscolor(15)
LET OK&=@CREATEBUTTON(%HWND,"OK",10,360,100,30)
LET CLASSNAME$="SysListView32"
LET LVHandle&=@Control(CLASSNAME$,"",$40000000+$10000000+$0001+$0200+$8,20,20,300,300,%HWND,0,%Hinstance)
@sendmessage(LVHandle&,$1036,0,$00000023) Zeilen darstellen
REM @sendmessage(LVHandle&,$1036,0,$00000023+2) ZUm Ankreuzen
Struct LVCOLUMN=Mask&, FMT&, CX&, Text&, Textlänge&, Subitem&
Dim LVC#,LVCOLUMN
Dim Text#,256
String Text#,0="Spalte 1"
LVC#.TEXT&=Text#
LVC#.MASK&=$0001+$0002+$0004+$0008
LVC#.FMT&=0
LVC#.CX&=100
LVC#.Subitem&=0
LVC#.Textlänge&=255
@sendmessage(LVHandle&,$1000+27,1,LVC#)
String Text#,0="Spalte 2"
@sendmessage(LVHandle&,$1000+27,2,LVC#)
String Text#,0="Spalte 3"
@sendmessage(LVHandle&,$1000+27,3,LVC#)
Struct LVITEM=IMASK&, ITEM&, ISUBITEM&, State&, StateMask&, ITEXT&, ITEXTMAX&, IIMAGE&, ILPARAM&
DIM LVI#,LVITEM
String Text#,0="Zeile 1 / Spalte 1"
LVI#.ITEXT&=Text#
LVI#.IMASK&=$0001
LVI#.ITEM&=0
LVI#.ISUBITEM&=0
LVI#.ITEXTMAX&=255
@sendmessage(LVHandle&,$1000+7,1,LVI#)
String Text#,0="Zeile 2 / Spalte 1"
LVI#.ITEXT&=Text#
LVI#.IMASK&=$0001
LVI#.ITEM&=1
LVI#.ISUBITEM&=0
LVI#.ITEXTMAX&=255
@sendmessage(LVHandle&,$1000+7,1,LVI#)
String Text#,0="Zeile 3 / Spalte 1"
LVI#.ITEXT&=Text#
LVI#.IMASK&=$0001
LVI#.ITEM&=2
LVI#.ISUBITEM&=0
LVI#.ITEXTMAX&=255
@sendmessage(LVHandle&,$1000+7,2,LVI#)
String Text#,0="Zeile 1 / Spalte 3"
LVI#.ITEXT&=Text#
LVI#.IMASK&=$0001
LVI#.ITEM&=0
LVI#.ISUBITEM&=2
LVI#.ITEXTMAX&=255
@sendmessage(LVHandle&,$1000+46,0,LVI#)
Dispose LVC#
Dispose TEXT#
While 0=0
IF @getfocus(OK&)
LET Gewählt&=@sendmessage(LVHandle&,$100C,-1,2)
LET GEWÄHLT&=Gewählt&+1
IF Gewählt&<>0
@messagebox("Zeile "+@str$(Gewählt&)+" wurde ausgewählt!","Zeile in ListView",64)
endif
endif
wend