oForm = CREATEOBJECT("Tform")
oForm.Show(1)
* end of main
DEFINE CLASS Tform As Form
PROTECTED root, rapi
Height=419
Width=400
BorderStyle=2
AutoCenter=.T.
Caption="Folder Viewer for Windows CE-based device"
MaxButton=.F.
ADD OBJECT tree As Ttree WITH Top=0, Left=0, Height=396, Width=400
ADD OBJECT sbar As Tbar WITH Top=398, Left=0, Height=21, Width=685
PROCEDURE Init
SET PROCEDURE TO clsRapiFiles ADDITIVE
THIS.rapi = CREATEOBJECT("Trapi")
IF NOT THIS.rapi.connected
= MESSAGEBOX("Mobile device is unavailable. ",;
48, "Error")
ELSE
THIS.root = THIS.addnode(Null,"\")
THIS.root.text = "MyDevice"
THIS.root.expanded = .T.
ENDIF
PROCEDURE addnode(ParentNode, cFolderName)
LOCAL cNodeKey, oNode
cNodeKey = SYS(2015)
oNode = THIS.tree.Nodes.Add(ParentNode, 4, cNodeKey, cFolderName)
oNode.Tag = STRTRAN(oNode.fullpath, "\\", "\")
LOCAL oFiles, oFolder
oFiles = CREATEOBJECT("Tfiles")
oFiles.GetFolders(oNode.Tag)
oFiles.KeySort=2
FOR EACH oFolder IN oFiles
THIS.addnode(oNode, oFolder.filename)
ENDFOR
RETURN oNode
PROCEDURE onnodeclick(oNode)
THIS.sbar.Panels(1).Text = oNode.Tag
ENDDEFINE
DEFINE CLASS Ttree As OleControl
OleClass="MSComctlLib.TreeCtrl"
PROCEDURE Init
THIS.PathSeparator="\"
THIS.Style=7
THIS.LineStyle=0
THIS.LabelEdit=1
THIS.Indentation=12
PROCEDURE Collapse(node)
ThisForm.OnNodeClick(node)
PROCEDURE NodeClick(node)
ThisForm.OnNodeClick(node)
ENDDEFINE
DEFINE CLASS Tbar As OleControl
OleClass="MSComctlLib.SBarCtrl.2"
PROCEDURE Init
THIS.Height=21
THIS.Panels(1).Width = 800
ENDDEFINE
|