From e3d0aa773d86c2451336b2c4146a279bae628af6 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 27 May 2001 02:16:09 +0000 Subject: [PATCH] added popup menu demo git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- samples/treectrl/treectrl.cpp | 33 +++++++++++++++++++++++++++++++++ samples/treectrl/treectrl.h | 5 +++++ 2 files changed, 38 insertions(+) diff --git a/samples/treectrl/treectrl.cpp b/samples/treectrl/treectrl.cpp index e04b74f314..2bb7c13e98 100644 --- a/samples/treectrl/treectrl.cpp +++ b/samples/treectrl/treectrl.cpp @@ -117,6 +117,9 @@ BEGIN_EVENT_TABLE(MyTreeCtrl, wxTreeCtrl) 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) @@ -841,6 +844,36 @@ void MyTreeCtrl::OnItemActivated(wxTreeEvent& event) 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()); diff --git a/samples/treectrl/treectrl.h b/samples/treectrl/treectrl.h index fc3d5931b3..3f89a72064 100644 --- a/samples/treectrl/treectrl.h +++ b/samples/treectrl/treectrl.h @@ -70,7 +70,10 @@ public: 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); @@ -94,6 +97,8 @@ public: void DoToggleIcon(const wxTreeItemId& item); + void ShowMenu(wxTreeItemId id, const wxPoint& pt); + protected: virtual int OnCompareItems(const wxTreeItemId& i1, const wxTreeItemId& i2); -- 2.45.2