Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.
Keywords: Dialog - Both Single and Multiple Selection Listboxes.wbt
;Dynamic Dialog template file #DefineSubroutine Init_DD_Constants() ;DialogprocOptions Constants MSG_INIT=0 ; The one-time initilization MSG_TIMER=1 ; Timer event MSG_BUTTONPUSHED=2 ; Pushbutton or Picturebutton MSG_RADIOPUSHED=3 ; Radiobutton clicked MSG_CHECKBOX=4 ; Checkbox clicked MSG_EDITBOX=5 ; Editbox or Multilinebox MSG_FILESELECT=6 ; Filelistbox MSG_ITEMSELECT=7 ; Itembox MSG_COMBOCHANGE=8 ; Combobox/Droplistbox MSG_Calendar=9 ; Calendar date change MSG_SPINNER=10 ; Spinner number change MSG_CLOSEVIA49=11 ; Close clicked (Enabled via Intcontrol 49) DPO_DISABLESTATE=1000 ; codes -1=GetSetting 0=EnableDialog 1=DisableDialog DPO_CHANGEBACKGROUND=1001 ; -1=GetSetting otherise bitmap or color string ;DialogControlState Constants DCSTATE_SETFOCUS=1 ; Give Control Focus DCSTATE_QUERYSTYLE=2 ; Query control's style DCSTATE_ADDSTYLE=3 ; Add control style DCSTATE_REMOVESTYLE=4 ; Remove control style DCSTATE_GETFOCUS=5 ; Get control that has focus DCSTYLE_INVISIBLE=1 ; Set Control Invisible ; ALL controls DCSTYLE_DISABLED=2 ; Set Control Disabled ; PUSHBUTTON RADIOBUTTON CHECKBOX PICTUREBUTTON EDITBOX ; MULTILINEBOX ITEMBOX FILELISTBOX CALENDAR DROPLISTBOX ; SPINNER GROUPBOX VARYTEXT STATICTEXT DCSTYLE_NOUSERDATA=4 ; Note: Setable via DialogControlState function ONLY ; SPINNER control only DCSTYLE_READONLY=8 ; Sets control to read-only (user cannot type in data) ; EDITBOX MULTILINEBOX SPINNER DCSTYLE_PASSWORD=16 ; Sets "password mode" where only *'s are displayed ; EDITBOX DCSTLYE_DEFAULTBUTTON=32 ; Sets a button as a the default button ; PUSHBUTTON PICTUREBUTTON DCSTYLE_DIGITSONLY=64 ; Set edit box to accept digits only ; EDITMOX MULTILINEBOX ;DialogControlSet / DialogControlGet Constants DC_CHECKBOX=1 ; CHECKBOX DC_RADIOBUTTON=2 ; RADIOBUTTON DC_EDITBOX=3 ; EDITBOX MULTILINEBOX DC_TITLE=4 ; PICTURE RADIOBUTTON CHECKBOX PICTUREBUTTON VARYTEXT ; STATICTEXT GROUPBOX PUSHBUTTON DC_ITEMBOXREPLACE=5 ; ITEMBOX FILELISTBOX DROPLISTBOX DC_ITEMBOXSELECT=6 ; ITEMBOX FILELISTBOX DROPLISTBOX DC_CALENDAR=7 ; CALENDAR DC_SPINNER=8 ; SPINNER DC_MULTITABSTOPS=9 ; MULTILINEBOX DC_ITEMSCROLLPOS=10 ; ITEMBOX FILELISTBOX DC_BACKGROUNDCOLOR=11 ; RADIOBUTTON CHECKBOX VARYTEXT STATICTEXT GROUPBOX PUSHBUTTON ; ITEMBOX FILELISTBOX DROPLISTBOX SPINNER EDITBOX MULTILINEBOX DC_PICTUREBITMAP=12 ; PICTURE PICTUREBUTTON DC_TEXTCOLOR=13 ; RADIOBUTTON CHECKBOX VARYTEXT STATICTEXT GROUPBOX PUSHBUTTON ; ITEMBOX FIELLISTBOX DROPLISTBOX SPINNER EDITBOX MULTILINEBOX DC_ITEMADD=14 ; ITEMBOX FILELISTBOX DROPLISTBOX DC_IERMREMOVE=15 ; ITEMBOX FILELISTBOX DROPLISTBOX return 0 #EndSubroutine #DefineSubroutine MyDialogProc(D_Handle,D_Message,D_ControlID,Reserved_0,Reserved_1) Init_DD_Constants() switch D_Message case MSG_INIT DialogProcOptions(D_Handle,MSG_ITEMSELECT,@TRUE) break case MSG_ITEMSELECT switch D_ControlID case 003 sel=DialogControlGet(d_handle,003,DC_ITEMBOXSELECT) selcount=ItemCount(sel,@tab) if PrevSingleSelection!="" && selcount>1 if selcount==2 prevnum=ItemLocate(PrevSingleSelection,sel,@tab) sel=ItemRemove(prevnum,sel,@tab) else ;and if they managed to select multiple, ;ignore operation sel=PrevSingleSelection endif DialogControlSet(d_handle,003,DC_ITEMBOXSELECT,sel) endif PrevSingleSelection=sel ;Message("Debug",sel) return (-1) endswitch break endswitch return (-1) #EndSubroutine MyVariable1="a.b.c.d.e.f.g.h.i.j.k.l" MyVariable1=Strreplace(MyVariable1,".",@tab) MyVariable2="1.2.3.4.5.6.7.8.9.0" MyVariable2=Strreplace(MyVariable2,".",@tab) PrevSingleSelection="" MyDialogFormat=`WWWDLGED,6.1` MyDialogCaption=`WIL Dialog 1` MyDialogX=016 MyDialogY=076 MyDialogWidth=201 MyDialogHeight=179 MyDialogNumControls=006 MyDialogProcedure=`MyDialogProc` MyDialogFont=`DEFAULT` MyDialogTextColor=`DEFAULT` MyDialogBackground=`DEFAULT,DEFAULT` MyDialog001=`039,146,033,011,PUSHBUTTON,DEFAULT,"OK",1,1,DEFAULT,DEFAULT,DEFAULT,DEFAULT` MyDialog002=`111,146,033,011,PUSHBUTTON,DEFAULT,"Cancel",0,2,DEFAULT,DEFAULT,DEFAULT,DEFAULT` MyDialog003=`010,020,074,112,ITEMBOX,MyVariable1,DEFAULT,DEFAULT,3,DEFAULT,DEFAULT,DEFAULT,DEFAULT` MyDialog004=`090,022,075,110,ITEMBOX,MyVariable2,DEFAULT,DEFAULT,4,DEFAULT,DEFAULT,DEFAULT,DEFAULT` MyDialog005=`023,007,041,011,STATICTEXT,DEFAULT,"Single Selection",DEFAULT,5,DEFAULT,DEFAULT,DEFAULT,DEFAULT` MyDialog006=`105,009,054,011,STATICTEXT,DEFAULT,"Multiple Selection",DEFAULT,6,DEFAULT,DEFAULT,DEFAULT,DEFAULT` ButtonPushed=Dialog("MyDialog")
Article ID: W15457
File Created: 2003:05:13:11:28:04
Last Updated: 2003:05:13:11:28:04