我在C ++ Builder XE7中使用TTreeView。我允许用户在某些节点上编辑节点文本,但我需要将他们可以键入的字符数量限制为10个。
我应该如何以及何时获得编辑控件并设置文本限制?
答案 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);
}
}