EVT_TREE_ITEM_EXPANDING(TreeTest_Ctrl, MyTreeCtrl::OnItemExpanding)
EVT_TREE_ITEM_COLLAPSED(TreeTest_Ctrl, MyTreeCtrl::OnItemCollapsed)
EVT_TREE_ITEM_COLLAPSING(TreeTest_Ctrl, MyTreeCtrl::OnItemCollapsing)
+ EVT_TREE_ITEM_RIGHT_CLICK(TreeTest_Ctrl, MyTreeCtrl::OnItemRightClick)
+
+ EVT_RIGHT_UP(MyTreeCtrl::OnRMouseUp)
EVT_TREE_SEL_CHANGED(TreeTest_Ctrl, MyTreeCtrl::OnSelChanged)
EVT_TREE_SEL_CHANGING(TreeTest_Ctrl, MyTreeCtrl::OnSelChanging)
EVT_TREE_KEY_DOWN(TreeTest_Ctrl, MyTreeCtrl::OnTreeKeyDown)
wxLogMessage("OnItemActivated");
}
+void MyTreeCtrl::OnItemRightClick(wxTreeEvent& event)
+{
+ ShowMenu(event.GetItem(), event.GetPoint());
+}
+
+void MyTreeCtrl::OnRMouseUp(wxMouseEvent& event)
+{
+ wxPoint pt = event.GetPosition();
+ ShowMenu(HitTest(pt), pt);
+}
+
+void MyTreeCtrl::ShowMenu(wxTreeItemId id, const wxPoint& pt)
+{
+ wxString title;
+ if ( id.IsOk() )
+ {
+ title << _T("Menu for ") << GetItemText(id);
+ }
+ else
+ {
+ title = _T("Menu for no particular item");
+ }
+
+ wxMenu menu(title);
+ menu.Append(TreeTest_About, _T("&About..."));
+ menu.Append(TreeTest_Dump, _T("&Dump"));
+
+ PopupMenu(&menu, pt);
+}
+
void MyTreeCtrl::OnRMouseDClick(wxMouseEvent& event)
{
wxTreeItemId id = HitTest(event.GetPosition());
void OnBeginLabelEdit(wxTreeEvent& event);
void OnEndLabelEdit(wxTreeEvent& event);
void OnDeleteItem(wxTreeEvent& event);
+ void OnRMouseUp(wxMouseEvent& event);
void OnGetInfo(wxTreeEvent& event);
+ void OnTreeRMouseClick(wxTreeEvent& event);
+ void OnItemRightClick(wxTreeEvent& event);
void OnSetInfo(wxTreeEvent& event);
void OnItemExpanded(wxTreeEvent& event);
void OnItemExpanding(wxTreeEvent& event);
void DoToggleIcon(const wxTreeItemId& item);
+ void ShowMenu(wxTreeItemId id, const wxPoint& pt);
+
protected:
virtual int OnCompareItems(const wxTreeItemId& i1, const wxTreeItemId& i2);