易截截图软件、单文件、免安装、纯绿色、仅160KB

delphi中TreeView使用

TreeView由节点构成,建树通过对TreeView.items属性进行操作。Items是一个TTreeNodes对象,这是一个TTreeNode集。
一、针对TTreeNodes,也就是 TreeView.Items,有这些属性:
1、count,节点个数。
2、item[index]  ,通过index得到节点。
二、针对TTreeNodes,也就是 TreeView.Items,常用的添加节点的操作有:
AddFirst添加第一个根节点。由此函数添加的节点总排在前面,除非后来又使用此函数添加了一个节点,则后添加的节点将排在前面。该函数返回新添加的节点。
AddChildFirst添加第一个子节点,要求有父节点作为其参数。返回新添加的节点。
AddChild添加一个子节点,要求有父节点作为其参数。返回新添加的节点。
Add添加一个兄弟节点,要求有兄弟节点作为其参数。返回新添加的节点。
三、针对TTreeNodes,也就是 TreeView.Items,常用的得到节点的操作有:
GetFirstNode() 得到根节点。
然后配合TTreeNode.GetNext(),就可以访问所有的节点。
四、建树举例:
var
  root_node,cur_node:TTreeNode;
begin
  root_node:=AddFirst(nil,根节点1);
  cur_node:=addChildfirst(root_node,nil,根节点1_child1);
  add(cur_node,根节点1_child2);
  root_node:=Add(nil,根节点2);
  AddChildFirst(root_node,根节点2_child1); 
end;
 
五、事件触发:
当从一个节点跳到另一个节点,会触发TTreeView.OnChange事件。该事件中,将传递node,即当前被选中的节点。
当修改一个节点的text时,会触发TTreeView.onEdit事件。
六、将节点和节点所对应的数据联系起来
对于每个TTreeNode,有个Data属性,可以存放一个指针。我们可以利用这个域来存放与节点对应的自己的数据。
1.我们先定义一个数据结构,作为记录我们要记录的数据。如:
type
  PMyData=^TMyData;
  TMyData=Record
    sFName:string;
    sLName:String;
    nIndex:integer;
  end;
2.然后,创建数时,将节点和节点数据联系起来:
procedure TForm1.Button1Click(Sender: TObject);
var
  myshuju: PMyData
  cur_node:TTreeNode;
begin
  New(myshuju);  //记住,一定要先分配内存。有几个节点,就要分配几次内存。
  myshuju^.FName:=Edit1.Text;
  Myshuju^.LName := Edit2.Text;
  TreeViewI


相关文档:

[delphi组件] Webbrowser的使用

delphi中Webbrowser的使用
1.获得网页中变量值
     htm中<script> var currID=123</script>
     程序中可以这么调用 id := Form1.WebBrowser1.OleObject.Document.script.currID
     值得说明的是,变量可以是javascript定义的,也可以是vbs ......

Delphi中控制VBA 宏

如何在Delphi里面利用Word的VBA代码进行一些总结。
1、  生成VBA代码。Word本身具有很强的可扩展性,尤其是支持用户自定义功能,其实现
的主要方式就是通过VBA代码来实现的。在“工具->宏->Visual Basic编辑器”里面就可以看
到具体的宏代码,可以直接进行编辑。而且还可以使用录制宏的功能自动 ......

delphi 下的日期计算

  在项目中,需要做一个日期的提醒功能,挺郁闷的,对日期的计算:
很幸运的是在delphi 中有现有的计算函数,DateUtils单元;
  路径:*\Delphi7\Source\Rtl\Common 目录下。
贴出一部分:
function IncYear(const AValue: TDateTime;
  const ANumberOfYears: Integer = 1): TDateTime;
// function Inc ......

delphi_手工创建dataset

procedure TForm1.Button3Click(Sender: TObject);
begin
    //显示创建的数据集: dbgrid->datasource->clientdataset
    //如果手工控制dbgrid显示宽度,dbgrid右键创建两个字段aa,bb,分别设置宽度即可
    cds1.FieldDefs.Add('aa',ftString,40);
   ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号