Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.
Keywords: MSComctlLib.TreeCtrl.2 TreeView Control COMCONTROL Dialog Tree
#DefineSubRoutine InitDialogConstants() ;DialogprocOptions Constants MSG_INIT=0 ; The one-time initialization 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 DialogProcOptions 1002 MSG_FILEBOXDOUBLECLICK=12 ; Get double-click message on a FileListBox MSG_ITEMBOXDOUBLECLICK=13 ; Get double-click message on an ItemBox MSG_COMEVENT=14 ; COMCONTROL Event notification from DialogObject (NOT DialogProcOptions) MSG_MENUITEM=15 ; MenuItem selected MSG_MENUITEMINIT=16 ; MenuItem initialized DPO_DISABLESTATE=1000 ; codes -1=GetSetting 0=EnableDialog 1=DisableDialog DPO_CHANGEBACKGROUND=1001 ; -1=Get Current 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 ; Set/Get Dialog Title - (-1 to get) DPO_GETNAME=1004 ; Returns the name associated with a control's number. DPO_GETNUMBER=1005 ; 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_DEFAULT=0 ; Set Default Style 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 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_NOADJUST=256 ; Turns off auto-height adjustment ITEMBOX FILELISTBOX DCSTYLE_TEXTCENTER=512 ; Center text in control VARYTEXT STATICTEXT DCSTYLE_TEXTRIGHT=1024 ; Flush-Right text in control VARYTEXT STATICTEXT DCSTYLE_NOSELCURLEFT=2048 ; No selection, cursor left 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 ; Separator bar graphic MENUITEM DCSTYLE_MENUBREAK=262144 ; column break MENUBAR ;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 MENUITEM 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_RADIOVALUE=16 ; RADIOBUTTON DC_POSITION=17 ; ALL CONTROLS (Except MENUBAR and MENUITEM) DC_MENUNAMES=18 ; ALL CONTROLS ;DialogObject constants DLGOBJECT_ADDEVENT=1 ; Call dialog callback when the specified event occurs DLGOBJECT_STOPEVENT=2 ; Stop calling dialog callback when an event previously requested with DLGOBJECT_GETOBJECT=3 ; Return an object references to the specified control DLGOBJECT_GETPICTURE=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 Return #EndSubRoutine #DefineFunction DlgCallbackProc(Dlg_Handle,Dlg_Message,Dlg_Name,Dlg_EventInfo,rsvd) InitDialogConstants() ; Initialize Dialog Constants ON_EQUAL = @TRUE ; Initialize variable ON_EQUAL Switch Dlg_Message ; Switch based on Dialog Message type Case MSG_INIT ; Standard Initialization message ; DialogProcOptions(Dlg_Handle,MSG_BUTTONPUSHED,@TRUE) ; Get object reference for TreeView control on the dialog and populate the tree with some items oTree = DialogObject(Dlg_Handle,"TreeView",DLGOBJECT_GETOBJECT) oTree.LineStyle = 1 ;include lines at the root items oTree.Indentation = 3 ;number of spaces to indent TVWAUTOMATIC = 0 ;The beforeLabelEdit event is generated when the user clicks on the label of a selected node TVWMANUAL = 1 ;The beforeLabelEdit event is generated only when the StartLabelEdit method is envoked oTree.LabelEdit = TVWMANUAL ;don't allow editing node text (label). (can only edit if you invoke the StartLabelEdit method on a node) oNodes = oTree.Nodes oNodes.Add(,,"ONEKEY","ONE") TVWCHILD = 4 ;node becomes a child of the node named in RELATIVE TVWFIRST = 0 ;node is placed before all other nodes at the same level of the node named in RELATIVE TVWLAST = 1 ;node is placed after all other nodes at the same level of the node named in RELATIVE TVWNEXT = 2 ;node is placed after the node named in RELATIVE TVWPREVIOUS = 3 ;node is placed before the node named in RELATIVE oNodes.Add("ONEKEY",TVWCHILD,"TWOKEY","TWO") oNodes.Add("ONEKEY",TVWCHILD,"THREEKEY","THREE") oNodes.Add("THREEKEY",TVWCHILD,"FOURKEY","FOUR") oFive = oNodes.Add(,,"FIVEKEY","FIVE") oNodes.Add(oFive,TVWCHILD,"SIXKEY","SIX") oFive = 0 ; Tell dialog to capture treeview events DialogObject(Dlg_Handle,"TreeView",DLGOBJECT_ADDEVENT,"NodeClick",003001) DialogObject(Dlg_Handle,"TreeView",DLGOBJECT_ADDEVENT,"Expand",003002) Return(RET_DO_NOT_EXIT) ; case MSG_BUTTONPUSHED ; switch ON_EQUAL ; case Dlg_Name == "PushButton_OK" ; OK ; return(RET_DO_DEFAULT) ; case Dlg_Name == "PushButton_Cancel" ; Cancel ; return(RET_DO_DEFAULT) ; endswitch ; Dlg_Name ; return(RET_DO_DEFAULT) Case MSG_COMEVENT ; ID "TreeView" MSComctlLib.TreeCtrl.2 ;check what kinds of COM events: Switch Dlg_EventInfo.identifier Case 003001 ;NODECLICK EVENTS oNode = Dlg_EventInfo.parameters(1).value nodeKey = oNode.key nodeText = oNode.text childCnt = oNode.children Message("Nodeclick Event",StrCat("Node Text: ",nodeText,@CRLF,"Node Key: ",nodeKey,@CRLF,"Child Count: ",childCnt)) Break Case 003002 ;EXPAND EVENTS oNode = Dlg_EventInfo.parameters(1).value nodeKey = oNode.key nodeText = oNode.text childCnt = oNode.children Message("Expand Event",StrCat("Node Text: ",nodeText,@CRLF,"Node Key: ",nodeKey,@CRLF,"Child Count: ",childCnt)) Break EndSwitch Return(RET_DO_NOT_EXIT) EndSwitch ; Dlg_Message Return(RET_DO_DEFAULT) #EndFunction ; End of Dialog Callback DlgCallbackProc DlgFormat=`WWWDLGED,6.2` DlgCaption=`Tree Test` DlgX=9999 DlgY=9999 DlgWidth=258 DlgHeight=255 DlgNumControls=003 DlgProcedure=`DlgCallbackProc` DlgFont=`DEFAULT` DlgTextColor=`DEFAULT` DlgBackground=`DEFAULT,DEFAULT` DlgConfig=0 Dlg001=`175,235,036,012,PUSHBUTTON,"PushButton_OK",DEFAULT,"OK",1,1,32,DEFAULT,DEFAULT,DEFAULT` Dlg002=`213,235,036,012,PUSHBUTTON,"PushButton_Cancel",DEFAULT,"Cancel",0,2,DEFAULT,DEFAULT,DEFAULT,DEFAULT` Dlg003=`005,005,244,224,COMCONTROL,"TreeView",DEFAULT,"MSComctlLib.TreeCtrl.2",DEFAULT,3,DEFAULT,DEFAULT,DEFAULT,"255|255|255"` ButtonPushed=Dialog("Dlg")
Article ID: W17705
Filename: TreeView Control Sample.txt
File Created: 2009:12:04:15:16:02
Last Updated: 2009:12:04:15:16:02