我想让节点只能输入30个字符,不知道如何实现?在线等。

解决方案 »

  1.   

    用接点的Text属性判断 应该可以实现吧
      

  2.   

    在TreeView的OnEdited事件中去判断吧。
      

  3.   

    我的代码:
    procedure TSVRaddsp.TreeView1Edited(Sender: TObject; Node: TTreeNode;
      var S: String);
    begin
    if length(S)<=30 then
    begin
      TreeUtil.ModifyNodeCaption(S, Node);  //修改Node的文本
      TreeView1.OnChange(Sender,node);//当修改了节点值时,自动调用此过程。重新读取节点值
    end
    else //还原到上次的输入(就是这里不会写了。)
    end;
      

  4.   

    是直接在TTreeView里面输入、修改结点的text属性吗?我们一般是通过TEdit或者其他的输入方式来控制text的长度!length()就可以判断的嘛!
      

  5.   

    把代码写到Editing里面去试试呢?
      

  6.   

    procedure TForm1.TreeView1Edited(Sender: TObject; Node: TTreeNode;
      var S: String);
    begin
      if length(s)>30 then
        s:=node.text
    end;
      

  7.   

    uses CommCtrl;procedure TForm1.TreeView1Editing(Sender: TObject; Node: TTreeNode;
      var AllowEdit: Boolean);
    begin
      SendMessage(TreeView_GetEditControl(TTreeView(Sender).Handle),
        EM_LIMITTEXT, 30, 0);
    end;