TreeView控件使用示例

翻译|其它|编辑:郝浩|2005-04-21 10:05:00.000|阅读 1454 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>


以下代码是本演示的全部代码,你只要把它拷贝到任一PRG文件中,执行该文件你就可以看到相应的效果。该代码段在执行后会在目录下自动生成一个Xm.dbf文件,运行后可自行删除。

CLEAR ALL
CLOSE ALL
CLEAR PROGRAM

PUBLIC TreeView
Create_Dbf()
oForm = CREATEOBJECT("TreeView")
oForm.show()
RETURN

DEFINE CLASS TreeView AS form

Height = 258
Width = 388
DoCreate = .T.
AutoCenter = .T.
Caption = "TreeView 控件示例"
MaxButton = .F.
MinButton = .F.
WindowType = 1
BackColor = RGB(128,128,255)
Name = "TreeView"
Key = 0

ADD OBJECT label1 AS label WITH ;
BackStyle = 0, ;
Caption = "", ;
Height = 102, ;
Left = 198, ;
Top = 16, ;
Width = 180, ;
Name = "Label1"

ADD OBJECT command1 AS commandbutton WITH ;
Top = 211, ;
Left = 217, ;
Height = 32, ;
Width = 149, ;
Caption = "退出演示", ;
Name = "Command1"

ADD OBJECT command2 AS commandbutton WITH ;
Top = 173, ;
Left = 217, ;
Height = 32, ;
Width = 67, ;
Caption = "添加节点", ;
Name = "Command2"

ADD OBJECT command3 AS commandbutton WITH ;
Top = 173, ;
Left = 299, ;
Height = 32, ;
Width = 67, ;
Caption = "删除节点", ;
Name = "Command3"

ADD OBJECT tree AS olecontrol WITH ;
    OLECLASS="COMCTL.TreeCtrl.1",;
    Top = 0,;
    Left = 0,;
    Width = 182,;
    Height = 258,;
    HideSelection = .F.

PROCEDURE Init
Select xm
o = This.Tree
Scan
  If AllTrim(Node) = '0_'
    o.Nodes.Add(, 1, AllTrim(Key), AllTrim(Text))
  Else
    o.Nodes.Add(AllTrim(Node), 4, AllTrim(Key), AllTrim(Text))
  EndIf
EndScan
    This.Key = o.Nodes.Count
    o.Setfocus
ENDPROC

PROCEDURE Tree.Init
    This.LabelEdit = 1
    This.LineStyle = 1
    This.Indentation = 18
ENDPROC

PROCEDURE command1.Click
CLOSE ALL
RELEASE ThisForm
ENDPROC

PROCEDURE command2.Click
o = ThisForm.Tree
IF ISNULL(o.SelectedItem)
  RETURN
ENDIF
ThisForm.Key = ThisForm.Key + 1
nKey = ALLTRIM(STR(ThisForm.Key)) + "_"
nNode = o.SelectedItem.Key
nText = "新添加节点"
o.Nodes.Add(nNode, 4, nKey, nText)
o.Setfocus
ENDPROC

PROCEDURE command3.Click
o = ThisForm.Tree
IF ISNULL(o.SelectedItem)
  RETURN
ENDIF
Ip = o.SelectedItem.Index
o.Nodes.Remove(Ip)
o.Setfocus
ENDPROC

PROCEDURE Tree.NodeClick
LPARAMETERS node
IF ISNULL(This.SelectedItem)
  RETURN
ENDIF
Ip = OCCURS("\", Node.FullPath)
ThisForm.label1.Caption = "你现在选中是: 第 " + ALLTRIM(STR(Ip + 1)) + " 层节点" + CHR(13) + CHR(13) +;
             "节点Key 值是:  " + Node.Key + CHR(13) + CHR(13) +;
             "节点Text值是:  " + Node.Text
ENDPROC

ENDDEFINE

PROCEDURE Create_Dbf

  IF FILE("xm.dbf")
    DELETE FILE xm.dbf recycle
  ENDIF
  CREATE TABLE xm(KEY c(2), Node c(2), Text c(20))
  INSERT INTO xm(Key, Node, Text) ValUes("1_", "0_", "浙江省")
  INSERT INTO xm(Key, Node, Text) ValUes("2_", "0_", "广东省")
  INSERT INTO xm(Key, Node, Text) ValUes("3_", "1_", "诸暨市")
  INSERT INTO xm(Key, Node, Text) ValUes("4_", "2_", "东莞市")
  INSERT INTO xm(Key, Node, Text) ValUes("5_", "3_", "安华镇")
  INSERT INTO xm(Key, Node, Text) ValUes("6_", "4_", "石龙镇")
  RETURN


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP