added popup menu demo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -117,6 +117,9 @@ BEGIN_EVENT_TABLE(MyTreeCtrl, wxTreeCtrl)
|
|||||||
EVT_TREE_ITEM_EXPANDING(TreeTest_Ctrl, MyTreeCtrl::OnItemExpanding)
|
EVT_TREE_ITEM_EXPANDING(TreeTest_Ctrl, MyTreeCtrl::OnItemExpanding)
|
||||||
EVT_TREE_ITEM_COLLAPSED(TreeTest_Ctrl, MyTreeCtrl::OnItemCollapsed)
|
EVT_TREE_ITEM_COLLAPSED(TreeTest_Ctrl, MyTreeCtrl::OnItemCollapsed)
|
||||||
EVT_TREE_ITEM_COLLAPSING(TreeTest_Ctrl, MyTreeCtrl::OnItemCollapsing)
|
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_CHANGED(TreeTest_Ctrl, MyTreeCtrl::OnSelChanged)
|
||||||
EVT_TREE_SEL_CHANGING(TreeTest_Ctrl, MyTreeCtrl::OnSelChanging)
|
EVT_TREE_SEL_CHANGING(TreeTest_Ctrl, MyTreeCtrl::OnSelChanging)
|
||||||
EVT_TREE_KEY_DOWN(TreeTest_Ctrl, MyTreeCtrl::OnTreeKeyDown)
|
EVT_TREE_KEY_DOWN(TreeTest_Ctrl, MyTreeCtrl::OnTreeKeyDown)
|
||||||
@@ -841,6 +844,36 @@ void MyTreeCtrl::OnItemActivated(wxTreeEvent& event)
|
|||||||
wxLogMessage("OnItemActivated");
|
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)
|
void MyTreeCtrl::OnRMouseDClick(wxMouseEvent& event)
|
||||||
{
|
{
|
||||||
wxTreeItemId id = HitTest(event.GetPosition());
|
wxTreeItemId id = HitTest(event.GetPosition());
|
||||||
|
@@ -70,7 +70,10 @@ public:
|
|||||||
void OnBeginLabelEdit(wxTreeEvent& event);
|
void OnBeginLabelEdit(wxTreeEvent& event);
|
||||||
void OnEndLabelEdit(wxTreeEvent& event);
|
void OnEndLabelEdit(wxTreeEvent& event);
|
||||||
void OnDeleteItem(wxTreeEvent& event);
|
void OnDeleteItem(wxTreeEvent& event);
|
||||||
|
void OnRMouseUp(wxMouseEvent& event);
|
||||||
void OnGetInfo(wxTreeEvent& event);
|
void OnGetInfo(wxTreeEvent& event);
|
||||||
|
void OnTreeRMouseClick(wxTreeEvent& event);
|
||||||
|
void OnItemRightClick(wxTreeEvent& event);
|
||||||
void OnSetInfo(wxTreeEvent& event);
|
void OnSetInfo(wxTreeEvent& event);
|
||||||
void OnItemExpanded(wxTreeEvent& event);
|
void OnItemExpanded(wxTreeEvent& event);
|
||||||
void OnItemExpanding(wxTreeEvent& event);
|
void OnItemExpanding(wxTreeEvent& event);
|
||||||
@@ -94,6 +97,8 @@ public:
|
|||||||
|
|
||||||
void DoToggleIcon(const wxTreeItemId& item);
|
void DoToggleIcon(const wxTreeItemId& item);
|
||||||
|
|
||||||
|
void ShowMenu(wxTreeItemId id, const wxPoint& pt);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual int OnCompareItems(const wxTreeItemId& i1, const wxTreeItemId& i2);
|
virtual int OnCompareItems(const wxTreeItemId& i1, const wxTreeItemId& i2);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user