TTreeview限制节点编辑文本长度

时间:2015-05-11 18:44:44

标签: c++builder

我在C ++ Builder XE7中使用TTreeView。我允许用户在某些节点上编辑节点文本,但我需要将他们可以键入的字符数量限制为10个。

我应该如何以及何时获得编辑控件并设置文本限制?

1 个答案:

答案 0 :(得分:1)

OnEditing事件中,您可以向TreeView发送TVM_GETEDITCONTROL消息以获取其编辑字段的HWND,然后您可以发送EM_LIMITTEXT消息它

void __fastcall TForm1::TreeView1Editing(TObject* Sender, TTreeNode* Node, bool &AllowEdit)
{
    AllowEdit = ...;
    if (AllowEdit)
    {
        HWND hEdit = TreeView_GetEditControl(TreeView1->Handle);
        SendMessage(hEdit, EM_LIMITTEXT, 10, 0);
    }
}