if Item.Text='订单输入' then showmessage(“发生订单输入事件”);
if ......

解决方案 »

  1.   

    在ONCLICK事件里面写也可以呀,用SENDER来判断点的是哪一个结点
      

  2.   

    我的一个例子,你看看:
      if not subTreeView.Selected.HasChildren then begin
        iCaption :=subTreeView.Selected.Text ;
        if iCaption <>'家庭理财' then accessOk :=true else
          accessOK := getAccess; //进入家庭理财前,进行密码确认
        if subAdoQuery.Locate('名称',subTreeView.Selected.Parent.Text ,[]) then
          iTableName :=subAdoQuery.fieldByName('代号').asString else begin
            application.MessageBox('数据库发生了致命错误,退出程序!','数据库错误',mb_IconError);
            exit;
          end;
        if accessOK then begin
          with diaryAdoQuery do begin
            close;
            sql.clear;
            sql.add('select * from ');
            sql.add(iTableName);
            sql.add(' where 名称=:名称');
            parameters.paramByName('名称').value :=iCaption;
            open;
            Last ;
          end;
        end;
        storyGroupBox.Caption :=' '+iCaption+' : '
                              +intToStr(diaryAdoQuery.RecordCount )
                              +'条记录';
      end else begin
        iCaption :=subTreeView.Selected.Text;
        storyGroupBox.Caption :=' '+iCaption+' :'
      end;
      

  3.   

    建立一个通用的数据结构(RECORD),在建树时为各节点建立一个结构并连接至DATA上,在发生切换时直接针对数据记录操作就行了。可能要写一些针对结构进行操作的过程,优点是代码有很强的扩展能力。