TTreeview限制节点编辑文本长度
TTreeview limit the node editing text length
我在 C++ Builder XE7 中使用 TTreeView。我允许用户在某些节点上编辑节点文本,但我需要将他们可以输入的字符数限制为 10 个。
我应该如何以及何时获取编辑控件并设置它的文本限制?
在给它的 OnEditing
event, you can send a TVM_GETEDITCONTROL
message to the TreeView to get the HWND
of its edit field, then you can send a 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);
}
}
我在 C++ Builder XE7 中使用 TTreeView。我允许用户在某些节点上编辑节点文本,但我需要将他们可以输入的字符数限制为 10 个。
我应该如何以及何时获取编辑控件并设置它的文本限制?
在给它的 OnEditing
event, you can send a TVM_GETEDITCONTROL
message to the TreeView to get the HWND
of its edit field, then you can send a 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);
}
}