WXTREECTRL自定义事件
wxTreeCtrl custom event
我正在为wxtreectrl的事件而苦苦挣扎,无法让他们开火。我希望一个更改选择事件要开火,并尝试查看TreectRL代码样本。到目前为止,我有:
.cpp
TopRightPanel::TopRightPanel(wxWindow *parent, wxSizer* sizer)
: wxTreeCtrl(parent, 0, wxPoint(513, 0), wxSize(512, 384)) //wxPanel(parent, 513, 0, 512, 384)
{
CreateControls(this);;
}
void TopRightPanel::CreateControls(wxTreeCtrl* parent)
{
rootId = wxTreeItemId();
rootId = AddRoot("Particle Systems");
wxTreeItemId root2Id = parent->AppendItem(rootId, "dlisjdslj");
parent->AppendItem(rootId, "Child 1");
}
void TopRightPanel::OnSelChanged(wxTreeEvent& event)
{
}
#if USE_GENERIC_TREECTRL
BEGIN_EVENT_TABLE(TopRightPanel, wxGenericTreeCtrl)
#else
BEGIN_EVENT_TABLE(TopRightPanel, wxTreeCtrl)
#endif
EVT_TREE_SEL_CHANGED(TopRightPanel_Ctrl, TopRightPanel::OnSelChanged)
END_EVENT_TABLE()
#define TREE_EVENT_HANDLER(name)
void TopRightPanel::name(wxTreeEvent& event)
{
LogEvent(wxT(#name), event);
SetLastItem(wxTreeItemId());
event.Skip();
}
/*TREE_EVENT_HANDLER(OnBeginRDrag)
TREE_EVENT_HANDLER(OnDeleteItem)
TREE_EVENT_HANDLER(OnGetInfo)
TREE_EVENT_HANDLER(OnSetInfo)
TREE_EVENT_HANDLER(OnItemExpanded)
TREE_EVENT_HANDLER(OnItemExpanding)
TREE_EVENT_HANDLER(OnItemCollapsed)*/
//TREE_EVENT_HANDLER(OnSelChanged)
//TREE_EVENT_HANDLER(OnSelChanging)
#undef TREE_EVENT_HANDLER
.h
class TopRightPanel : public wxTreeCtrl
{
public:
TopRightPanel(wxWindow *parent, wxSizer *sizer);
void CreateControls(wxTreeCtrl *parent);
void CreateNewParent(wxTreeCtrl *parent);
void CreateNewChild(wxTreeCtrl *parent, wxTreeItemId *root);
void OnSelChanged(wxTreeEvent& event);
void LogEvent(const wxChar *name, const wxTreeEvent& event);
//void OnSelChanging(wxTreeEvent& event);
private:
wxTreeItemId rootId;
//DECLARE_DYNAMIC_CLASS(TopRightPanel);
DECLARE_EVENT_TABLE()
/*void OnSetText(wxCommandEvent & event);
wxStaticText *m_text;*/
};
enum
{
TopRightPanel_Select = 6000,
TopRightPanel_Unselect,
TopRightPanel_Ctrl = 1000
};
如果您能看到任何东西,我将非常感谢建议。我刚刚通过尝试在OnSelchanged函数中放置一个断点,但它没有达到它。
您正在使用错误的控制ID。在创建ID TopRightPanel_Ctrl
的事件接收器时,您可以使用0
的ID创建TreectRl:
: wxTreeCtrl(parent, TopRightPanel_Ctrl, ...
// ^
// | they need to match
// v
EVT_TREE_SEL_CHANGED(TopRightPanel_Ctrl, ...
相关文章:
- 如何解决:自定义QGraphics项目接收鼠标新闻事件坐标延迟/滞后?
- 在UE4中,玩家进行光线投射、击中物体并触发自定义事件C++
- 如何在Maya中选择自定义网格组件后立即发布用户事件
- 处理自定义QT小部件中的输入事件
- 是否有任何可能的方法将事件(自定义)附加到在运行时创建的对象?[C 构建器]
- FireMonkey自定义控制点击事件在设计师中发射
- WXTREECTRL自定义事件
- 继承自定义选项卡栏和调整大小事件的实现
- 不能在绘画中使用 QPainter 自定义 QWidget 的事件 (Qt5)
- wxwidgets 自定义事件不会传播到父窗口
- 在 C++ 中编写自定义事件类
- Qt 中的自定义事件
- Q读取自定义事件
- Qt-如何在不使用插槽的情况下检测自定义事件循环中的关闭窗口
- Visual Studio自定义生成事件始终在执行
- Kurento自定义插件:如何将事件异步发送到java服务器
- 子类化 QGraphicsView,自定义鼠标事件
- Qt - 拖放 - 自定义图形场景 - 事件错误
- Qt:如何使用connect处理自定义事件
- 在 Eclipse RCP 中处理自定义设备事件