WinBatch Tech Support Home

Database Search

If you can't find the information using the categories below, post a question over in our WinBatch Tech Support Forum.

TechHome

Dialog Editor version 6.X
plus
plus

Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.

Dialog - Both Single and Multiple Selection Listboxes.wbt

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