0

我想在双击和/或 F2 时正常重命名

所以:

  new wxTreeCtrl(this,IDC_Tree,wxPoint(-1,-1),wxSize(-1,-1),
    wxTR_HAS_BUTTONS | wxTR_LINES_AT_ROOT | wxTR_EDIT_LABELS);

双击不重命名。(它显示父节点的子节点)

F2 不重命名

工作是什么

  • 单击节点以选择它
  • 按 F2 键
  • 再次单击节点 - 现在我可以输入新名称

我想它可以完成这项工作,但我不想向每个用户解释这一点。

wxWidgets v2.9, C++, windows

4

2 回答 2

0

你不能只捕获一个类型的事件wxEVT_COMMAND_TREE_ITEM_ACTIVATED然后使用wxTreeCtrl::EditLabel来启动编辑器吗?

于 2012-10-16T07:03:12.413 回答
0

F2不能开箱即用wxTreeCtrlwxDataViewCtrl虽然它确实有效),你需要处理它并打电话给EditLabel()自己。

双击从不用于重命名项目,仅用于激活它们。重命名的工作是“慢速单击”,即单击已选择的项目,它来得太晚不能算作双击的第二次单击。这也是它在标准 Windows 树视图控件中的工作方式wxTreeCtrl

于 2012-10-16T11:13:25.127 回答