added state image support (patch 530155)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21864 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2003-07-10 12:46:48 +00:00
parent 68a14aeeeb
commit ae8c4b33a3
4 changed files with 35 additions and 5 deletions

View File

@@ -131,9 +131,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_TREE_ITEM_RIGHT_CLICK(TreeTest_Ctrl, MyTreeCtrl::OnItemRightClick)
EVT_RIGHT_UP(MyTreeCtrl::OnRMouseUp)
EVT_CONTEXT_MENU(MyTreeCtrl::OnContextMenu)
EVT_TREE_SEL_CHANGED(TreeTest_Ctrl, MyTreeCtrl::OnSelChanged)
EVT_TREE_SEL_CHANGING(TreeTest_Ctrl, MyTreeCtrl::OnSelChanging)
EVT_TREE_KEY_DOWN(TreeTest_Ctrl, MyTreeCtrl::OnTreeKeyDown)
@@ -1102,10 +1102,35 @@ void MyTreeCtrl::OnItemRightClick(wxTreeEvent& event)
ShowMenu(event.GetItem(), event.GetPoint());
}
void MyTreeCtrl::OnRMouseUp(wxMouseEvent& event)
void MyTreeCtrl::OnContextMenu(wxContextMenuEvent& event)
{
wxPoint pt = event.GetPosition();
ShowMenu(HitTest(pt), pt);
wxTreeItemId item = GetSelection();
wxLogMessage("OnContextMenu at screen coords (%i, %i)", pt.x, pt.y);
//check if event was generated by keyboard (MSW-specific?)
if (pt.x==-1 && pt.y==-1) //(this is how MSW indicates it)
{
//attempt to guess where to show the menu
if (item.IsOk())
{
//if an item was clicked, show menu to the right of it
wxRect rect;
GetBoundingRect(item, rect, true); //true = only the label
pt = wxPoint(rect.GetRight(), rect.GetTop());
}
else
{
pt = wxPoint(0, 0);
}
}
else
{
//event was generated by mouse, use supplied coords
pt = ScreenToClient(pt);
}
ShowMenu(item, pt);
}
void MyTreeCtrl::ShowMenu(wxTreeItemId id, const wxPoint& pt)