| |
|
|
| KompilierenMarkierenSeparierenSource wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Listbox mit Mehrfachauswahlmöglichkeit der Einträge
WINDOWSTYLE 31
WINDOWTITLE A Listbox in which more tan one items can be chosen
WINDOW 0,0-640,440
Declare MLISTBOX&,OK&,ITEM#,Anzahl&,Dialog&,Chosen&,Style&,Suche$,Counter&,ITEM&
LET OK&=@CREATEBUTTON(%HWND,Select,20,360,100,30)
LET MLISTBOX&=@Control(ListBox,,$40000000+$10000000+$400000+$200000+2+8+$1000,20,20,300,300,%HWND,2112,%HINSTANCE)
Enablewindow OK&,0
CHDIR $WINPATH
LET SUCHE$=@FINDFIRST$(*.*)
While SUCHE$<>
@AddString(MLISTBOX&,Suche$)
LET SUCHE$=@FINDNEXT$()
WEND
Enablewindow OK&,1
while 0=0
WAITINPUT
IF @GETFOCUS(OK&)
LET ANZAHL&=@sendmessage(MLISTBOX&,$0190,0,0) Anzahl ausgewählter Einträge ermitteln
IF @gt(Anzahl&,32767)
Let Anzahl&=32767
@messagebox(Anzahl der gewählten Einträge zu hoch, es werden nicht alle ausgewählten Einträge angezeigt!,Hinweis,64)
endif
DIM ITEM#,@MUL((Anzahl&+1),4)
@SENDMESSAGE(MLISTBOX&,$0191,Anzahl&,ITEM#) Auslesen der gwählten Einträge
IF @gt(ANZAHL&,0)
LET DIALOG&=@CREATEDIALOG(%HWND,Selected items,10,10,300,300,)
LET Chosen&=@Control(Listbox,,$40000000+$10000000+$4000,20,20,200,200,Dialog&,2113,%HINSTANCE)
LET Counter&=0
Whilenot Counter&>=Anzahl&
LET ITEM&=@WORD(ITEM#,@MUL(Counter&,4))
@ADDSTRING(Chosen&,@GetString$(MLISTBOX&,ITEM&))
LET Counter&=Counter&+1
WENd
Whilenot %KEY=2
waitinput
wend
@Destroywindow(DIALOG&)
ENDIF
DISPOSE ITeM#
ENDIF
wend
|
|
|
| |
|
|