Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.
Keywords: Tab Tabbed Dialog window COM
Home_Path = DirScript() DirChange(Home_Path) GoSub Load_Routines Init_Dialog_Constants() IntControl(49,3,0,0,0) cDrop = "This is Just a Test" TabDlgFormat=`WWWDLGED,6.2` TabDlgCaption=`Winbatch - Small Tab Strip` TabDlgX=9999 TabDlgY=9999 TabDlgWidth=262 TabDlgHeight=163 TabDlgNumControls=011 TabDlgProcedure=`TabDlg` TabDlgFont=`Microsoft Sans Serif|6656|70|34` TabDlgTextColor=`0|0|0` TabDlgBackground=`DEFAULT,DEFAULT` TabDlgConfig=0 TabDlg001=`001,001,258,022,COMCONTROL,"m_co_Tab",DEFAULT,"MSComctlLib.TabStrip.2",DEFAULT,1,DEFAULT,DEFAULT,DEFAULT,DEFAULT` TabDlg002=`053,057,146,012,STATICTEXT,"s_st_Tab_ParameterControls",DEFAULT,"Parameter Controls",DEFAULT,3,DEFAULT,DEFAULT,DEFAULT,DEFAULT` TabDlg003=`001,027,258,132,GROUPBOX,"s_gb_Tab_SetSystemParam",DEFAULT,"Set System Parameters",DEFAULT,2,DEFAULT,DEFAULT,DEFAULT,"255|128|64"` TabDlg004=`043,103,164,042,DROPLISTBOX,"s_dl_Tab_cDrop",cDrop,"Select an Item",DEFAULT,4,DEFAULT,DEFAULT,DEFAULT,DEFAULT` TabDlg005=`053,057,146,012,STATICTEXT,"u_st_Tab_UserControls",DEFAULT,"User Controls",DEFAULT,6,DEFAULT,DEFAULT,DEFAULT,DEFAULT` TabDlg006=`001,027,258,132,GROUPBOX,"u_gb_Tab_SetUserParam",DEFAULT,"Set User Parameters",DEFAULT,5,DEFAULT,DEFAULT,DEFAULT,"0|255|0"` TabDlg007=`053,057,146,012,STATICTEXT,"i_st_Tab_ImageControls",DEFAULT,"Image Controls",DEFAULT,8,DEFAULT,DEFAULT,DEFAULT,DEFAULT` TabDlg008=`001,027,258,132,GROUPBOX,"i_gb_Tab_SetImageParam",DEFAULT,"Set Image Parameters",DEFAULT,7,DEFAULT,DEFAULT,DEFAULT,"255|0|0"` TabDlg009=`053,057,146,012,STATICTEXT,"f_st_Tab_FileControls",DEFAULT,"File Controls",DEFAULT,10,DEFAULT,DEFAULT,DEFAULT,DEFAULT` TabDlg010=`001,027,258,132,GROUPBOX,"f_gb_Tab_SetFileParam",DEFAULT,"Set File Parameters",DEFAULT,9,DEFAULT,DEFAULT,DEFAULT,"255|255|0"` TabDlg011=`083,073,124,082,CALENDAR,"f_ca_Tab_cCal",cCal,DEFAULT,DEFAULT,11,DEFAULT,DEFAULT` ButtonPushed=Dialog("TabDlg") Exit :Load_Routines #DefineSubroutine TabInit() TabHide() oTab.Tabs.Clear() oTab.MultiRow = 1 oTab.Tabs.Add(1,"s_Tab1","System ",) oTab.Tabs.Add(2,"u_Tab2","User ",) oTab.Tabs.Add(3,"i_Tab3","Images ",) oTab.Tabs.Add(4,"f_Tab4","Files ",) oTab.Tabs("i_Tab3").Selected=@True nIndex = oTab.SelectedItem.Index nKey = oTab.SelectedItem.Key TabShow() Return(1) #EndSubRoutine #DefineSubroutine TabHide() For i = 2 To TabDlgNumControls DialogControlState(Tab_Handle,DialogProcOptions(Tab_Handle,dpo_getname,%i%),dcstate_addstyle,dcstyle_invisible) Next #EndSubRoutine #DefineSubroutine TabShow() For i = 2 To TabDlgNumControls If StrSub(DialogProcOptions(Tab_Handle,dpo_getname,%i%),1,2) == StrSub(nKey,1,2) Then DialogControlState(Tab_Handle,DialogProcOptions(Tab_Handle,dpo_getname,%i%),dcstate_removestyle,dcstyle_invisible) EndIf Next #EndSubRoutine #DefineSubRoutine TabDlg(Tab_Handle,DMsg,DCID,DEInfo,ChangeInfo) Switch (DMsg) Case msg_init ; Dialog Initialization DialogProcOptions(Tab_Handle, msg_closevia49,1) ; Close selected (IntControl(49....) (1-On, 0-Off). DialogProcOptions(Tab_Handle, dpo_disablestate,0) ; Dialog Disable (1-Disable, 2-Wait cursor, 0-Enable). DialogProcOptions(Tab_Handle, msg_combochange,1) ; DropList. DialogProcOptions(Tab_Handle, msg_calendar,1) ; Calendar selected. oTab = DialogObject(Tab_Handle,"m_co_Tab",dlgobject_getobject) DialogObject(Tab_Handle, "m_co_Tab", dlgobject_addevent,"Click",001001) TabInit() DialogControlSet(Tab_Handle,"s_dl_Tab_cDrop",dc_itemboxcontents,cDrop) Break Case msg_closevia49 ; Close oTab = 0 Return 9 Break Case msg_comevent ; ComEvent Switch(DialogProcOptions(Tab_Handle,dpo_getnumber,DCID)) Case DialogProcOptions(Tab_Handle,dpo_getnumber,"m_co_Tab") If DeInfo.identifier == 001001 Then TabHide() nIndex = oTab.SelectedItem.Index nKey = oTab.SelectedItem.Key TabShow() EndIf Break EndSwitch Break Case msg_calendar ; Calendar Switch(DialogProcOptions(Tab_Handle,dpo_getnumber,DCID)) Case DialogProcOptions(Tab_Handle,dpo_getnumber,"f_ca_Tab_cCal") cCal = DialogControlGet(Tab_Handle,"f_ca_Tab_cCal",dc_calendar) Break EndSwitch Break Case msg_combochange ; DropList Switch(DialogProcOptions(Tab_Handle,dpo_getnumber,DCID)) Case DialogProcOptions(Tab_Handle,dpo_getnumber,"s_dl_Tab_cDrop") cDrop = DialogControlGet(Tab_Handle,"s_dl_Tab_cDrop",dc_itemboxselect) cDrop_list = DialogControlGet(Tab_Handle,"s_dl_Tab_cDrop",dc_itemboxcontents) Break EndSwitch Break EndSwitch Return -2 #EndSubRoutine #DefineSubRoutine Init_Dialog_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) MSG_FILEBOXDOUBLECLICK = 12 ; Get double-click message on a FileListBox MSG_ITEMBOXDOUBLECLICK = 13 ; Get double-click message on an ItemBox MSG_COMEVENT = 14 ; Get double-click message on an ItemBox MSG_MENUITEM = 15 ; MenuItem selected MSG_MENUITEMINIT = 16 ; MenuItem initialized MSG_RESIZE = 17 ; Dialog resized MSG_RVITEMSELROW = 18 ; Reportview item select row MSG_RVDBLCLICKROW = 19 ; Reportview double-click row MSG_RVCHECKEDITEM = 20 ; Reportview checked/unchecked Item MSG_RVITEMTEXT = 21 ; Reportview item text MSG_RVHEADER = 22 ; Reportview header clicked DPO_DISABLESTATE = 1000 ; codes -1=GetSetting 0=EnableDialog 1=DisableDialog DPO_CHANGEBACKGROUND = 1001 ; -1=GetSetting otherise bitmap or color string DPO_CHANGESYSMENU = 1002 ; -1=Get Current 0=none 1=close 2=close/min 3=close/max 4=close/min/max DPO_CHANGETITLE = 1003 ; -1=Get Current otherise new title DPO_GETNAME = 1004 ; Returns the name associated with a control's number. DPO_GETNUMBER = 1005 ; Returns the number associated with a control's name. DPO_GETCLIENTAREA = 1007 ; Returns the number associated with a control's name. ;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 DCSTATE_MOVEMOUSEOVER = 6 ; Move the mouse over the control DCSTYLE_INVISIBLE = 1 ; Set Control Invisible DCSTYLE_DISABLED = 2 ; Set Control Disabled 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 DCSTYLE_DEFAULTBUTTON = 32 ; Sets a button as a the default button PUSHBUTTON PICTUREBUTTON DCSTYLE_DIGITSONLY = 64 ; Set edit box to accept digits only EDITMOX MULTILINEBOX DCSTYLE_FLAT = 128 ; Makes a 'flat' hyperlink-looking button PUSHBUTTON PICTUREBUTTON DCSTYLE_HEIGHT = 256 ; Turns off automatic height adjustment on ItemBoxes and FileListBoxes DCSTYLE_CENTER = 512 ; Center Text in VARYTEXT and STATICTEXT Controls DCSTYLE_RIGHT = 1024 ; Right Justify Text in VARYTEXT and STATICTEXT Controls DCSTYLE_NOSELCURLEFT = 2048 ; No selection, cursor left EDITBOX MULTILINEBOX DCSTYLE_NOSELCURRIGHT = 4096 ; No selection, cursor right EDITBOX MULTILINEBOX DCSTYLE_NOSELCURRIGHT = 4096 ; No selection, cursor right EDITBOX MULTILINEBOX DCSTYLE_SHIELD = 8192 ; Display Security Shield icon on button (Vista only) PUSHBUTTON PICTUREBUTTON DCSTYLE_MENUCHECK = 32768 ; Adds a check mark to the left of a menu item MENUITEM DCSTYLE_MENURADIO = 65536 ; Adds a radio button like dot graphic to the left of a menu item MENUITEM DCSTYLE_MENUSEP = 131072 ; Causes a separator bar graphic to display instead of text at the menu item's location in the menu MENUITEM DCSTYLE_MENUBREAK = 262144 ; Cause a column break to occur at the specific item when used with drop-down, context, or submenus. Causes a line break (new row) with menu items hosted directly by the MENUBAR MENUITEM DCSTYLE_NOHEADER = 524288 ; No header bar REPORTVIEW DCSTYLE_COLHEADER = 1048576 ; First row column header REPORTVIEW DCSTYLE_GRIDLINES = 2097152 ; Grid lines REPORTVIEW DCSTYLE_SELONEROW = 4194304 ; Only one row can be selected at a time REPORTVIEW DCSTYLE_SELALLROW = 8388608 ; Highlight complete row REPORTVIEW DCSTYLE_SORTASC = 16777216 ; Ascending sort REPORTVIEW DCSTYLE_SORTDESC = 33554432 ; Descending sort REPORTVIEW DCSTYLE_EDITCOL = 67108864 ; Edit first columns text REPORTVIEW DCSTYLE_COLCHECKBOX = 134217728 ; Add checkbox to first column REPORTVIEW DCSTYLE_INSHEADER=268435456 ; Include column header text REPORTVIEW ;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_ITEMBOXCONTENTS = 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_ITEMBOXADD = 14 ; ITEMBOX FILELISTBOX DROPLISTBOX DC_ITEMBOXREMOVE = 15 ; ITEMBOX FILELISTBOX DROPLISTBOX DC_RADIOCONTROL = 16 ; RADIOBUTTON DC_POSITION = 17 ; RADIOBUTTON DC_MENUNAMES = 18 ; ALL CONTROLS DC_HANDLE = 19 ; ALL CONTROLS (Except MENUBAR and MENUITEM) DC_RVCOLHEAD = 20 ; REPORTVIEW DC_RVCOLWIDTH = 21 ; REPORTVIEW DC_RVCOLMATCH = 24 ; REPORTVIEW DC_RVCANCELEDIT = 25 ; REPORTVIEW DC_RVCHECKEDROWS = 26 ; REPORTVIEW DC_RVJUSTIFY = 27 ; REPORTVIEW ;DialogObject constants DLGOBJECT_ADDEVENT = 1 ; Call dialog callback when the specified event occurs DLGOBJECT_REMOVEEVENT = 2 ; Stop calling dialog callback when an event previously requested with DLGOBJECT_GETOBJECT = 3 ; Return an object references to the specified control DLGOBJECT_GETPICOBJECT = 4 ; Create and return an object reference to a picture object ;Return code constants RET_DO_CANCEL = 0 ; Cancels dialog RET_DO_DEFAULT = -1 ; Continue with default processing for control RET_DO_NOT_EXIT = -2 ; Do not exit the dialog #EndSubRoutine Return
IntControl(49,3,0,0,0) gosub udfs TabRange = "2,4|5,6|7,8|9,11" nSelected=3 nStart=0 nStop=0 cDrop = "This is Just a Test" TABFormat=`WWWDLGED,6.1` TABCaption=`Winbatch - Small Tab Strip` TABX=9999 TABY=9999 TABWidth=262 TABHeight=163 TABNumControls=011 TABProcedure=`dlgproc` TABFont=`Microsoft Sans Serif|6656|70|34` TABTextColor=`0|0|0` TABBackground=`DEFAULT,DEFAULT` TABConfig=0 TAB001=`001,001,258,022,COMCONTROL,DEFAULT,"MSComctlLib.TabStrip.2",DEFAULT,1,DEFAULT,DEFAULT,DEFAULT,DEFAULT` TAB002=`053,057,146,012,STATICTEXT,DEFAULT,"Parameter Controls",DEFAULT,3,DEFAULT,DEFAULT,DEFAULT,DEFAULT` TAB003=`001,027,258,132,GROUPBOX,DEFAULT,"Set System Parameters",DEFAULT,2,DEFAULT,DEFAULT,DEFAULT,"255|128|64"` TAB004=`043,103,164,042,DROPLISTBOX,cDrop,"Select an Item",DEFAULT,4,DEFAULT,DEFAULT,DEFAULT,DEFAULT` TAB005=`053,057,146,012,STATICTEXT,DEFAULT,"User Controls",DEFAULT,6,DEFAULT,DEFAULT,DEFAULT,DEFAULT` TAB006=`001,027,258,132,GROUPBOX,DEFAULT,"Set User Parameters",DEFAULT,5,DEFAULT,DEFAULT,DEFAULT,"0|255|0"` TAB007=`053,057,146,012,STATICTEXT,DEFAULT,"Image Controls",DEFAULT,8,DEFAULT,DEFAULT,DEFAULT,DEFAULT` TAB008=`001,027,258,132,GROUPBOX,DEFAULT,"Set Image Parameters",DEFAULT,7,DEFAULT,DEFAULT,DEFAULT,"255|0|0"` TAB009=`053,057,146,012,STATICTEXT,DEFAULT,"File Controls",DEFAULT,10,DEFAULT,DEFAULT,DEFAULT,DEFAULT` TAB010=`001,027,258,132,GROUPBOX,DEFAULT,"Set File Parameters",DEFAULT,9,DEFAULT,DEFAULT,DEFAULT,"255|255|0"` TAB011=`083,073,125,083,CALENDAR,cCal,DEFAULT,DEFAULT,11,DEFAULT,DEFAULT` ButtonPushed=Dialog("TAB") Exit :udfs #DefineSubroutine dlgproc(handle,msg,id,p4,p5) Switch msg Case 0 ;Dialog Initialization DialogProcOptions(handle, 11,-1) oTab = DialogObject(handle,001,3) DialogObject(handle, 001, 1,"Click",001001) tabInit() Return(-1) Break Case 11 ; Close oTab=0 Break Case 14 ;COM event message If p4.identifier == 001001 Then gettab() Break EndSwitch Return -2 #EndSubRoutine #DefineSubroutine tabInit() For i = 2 To TABNumControls DialogControlState(handle,%i%,3,1) Next oTab.Tabs.Clear() oTab.MultiRow = 1 oTab.Tabs.Add(1,"Tab1","System ",) oTab.Tabs.Add(2,"Tab2","User ",) oTab.Tabs.Add(3,"Tab3","Images ",) oTab.Tabs.Add(4,"Tab4","Files ",) oTab.Tabs("Tab3").Selected=@True getrange() For i = nStart To nStop DialogControlState(handle,%i%,4,1) Next Return(1) #EndSubRoutine #DefineSubroutine gettab() For i = 2 To TABNumControls DialogControlState(handle,%i%,3,1) Next nSelected= oTab.SelectedItem.Index getrange() For i = nStart To nStop DialogControlState(handle,%i%,4,1) Next Return(1) #EndSubRoutine #DefineSubroutine getrange() cRange = ItemExtract(nSelected,TabRange,"|") nStart = Int( ItemExtract(1,cRange,",") ) nStop = Int( ItemExtract(2,cRange,",") ) Return(1) #EndSubRoutine Return
Article ID: W17396
File Created: 2014:03:05:08:21:44
Last Updated: 2014:03:05:08:21:44