Seterrorlevel 0 ' SEHR WICHTIG WEGEN NEGATIVER FENSTERGRÖSSE!!! Def GetSysColor(1) !"USER32","GetSysColor" SETTRUECOLOR 1 DECLARE ENDE%,i%,Button2%,Top%,last%,now% DECLARE LISTBOX1%,font%,font2%,STATIC& DECLARE BUTTON1%,ZEILE$,ausgabeliste% Declare box%[1000] PROC LISTREFRESH Top%=@SendMessage(Listbox1%,398,0,0) Top%= Top%*13 Top%= Top%-Top%*2 setwindowpos static&=0,Top%-15,5000;0 'Sonst isser im Hintergrund ;) showwindow(static&,1) ENDPROC PROC LESEN i%=0 Whilenot equ(i%,@GetCount(listbox1%)) setfocus(box%[i%]) if getcheck(box%[i%]) addstring(ausgabeliste%,@Trim$(@GetString$(listbox1%,i%))) endif inc i% Wend addstring(ausgabeliste%,"***********************************************************************************") setfocus(%HWND) ENDPROC font%=@CREATE("FONT","MS Sans Serif",13,0,0,0,0) WINDOWSTYLE 63 WINDOWTITLE "CHECKLISTBOX (c) by Rolf Koch 2003" WINDOW 214,134-429,518 CLS GETSYSCOLOR(15) USEFONT "MS Sans Serif",8,0,0,0,0 SETDIALOGFONT 1 LISTBOX1% = CREATE("LISTBOX",%HWND,"",0012,0013,0401,0107) STATIC&= Control("STATIC","",$5400010E,0,0,15,5000,LISTBOX1%,2000,%hinstance) AUSGABELISTE% = CREATE("LISTBOX",%HWND,"",0012,0123,0401,0200) BUTTON1% = CREATE("BUTTON",%HWND,"Good by",0091,0430,0228,0033) BUTTON2% = CREATE("BUTTON",%HWND,"Auslesen",0091,0390,0228,0033) clearlist ASSIGN #1,ADD$($WINPATH,"\WIN.INI") RESET #1 WHILENOT eof(#1) input #1,zeile$ addstring(listbox1%,add$(" ",zeile$)) WEND CLOSE #1 'Checkboxen hinzufügen - beim Neuerstellen: Clear box%[]! Whilenot equ(i%,@GetCount(listbox1%)) box%[i%]=createcheckbox(STATIC&,"",1,mul(i%,13),13,13) inc i% wend WHILENOT ENDE% LISTREFRESH 'MUSS VOR WAITINPUT (Wegen Focus) Waitinput If @EQU(%KEY,2) LET ENDE%= 1 ELSEIF GETFOCUS(BUTTON1%) 'BUTTON LET ENDE%=1 ENDIF IF GETFOCUS(BUTTON2%) LESEN ELSEIF GETFOCUS(LISTBOX1%) if equ(getcheck(box%[@GetCursel(Listbox1%)]),0) setcheck box%[@GetCursel(Listbox1%)],1 elseif equ(getcheck(box%[@GetCursel(Listbox1%)]),1) setcheck box%[@GetCursel(Listbox1%)],0 ENDIF Top%=@SendMessage(Listbox1%,398,0,0) Top%= Top%*13 Top%= Top%-Top%*2 setwindowpos static&=0,Top%-0,0;0 'Sonst isser im Hintergrund ;) showwindow(static&,1) setfocus(%HWND) ELSEIF GETFOCUS(AUSGABELISTE%) getmessage ENDIF WEND