be05b43451
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42925 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
50 lines
1.3 KiB
Python
50 lines
1.3 KiB
Python
import wx
|
|
|
|
class MyFrame(wx.Frame):
|
|
def __init__(self):
|
|
wx.Frame.__init__(self, None, -1,
|
|
"Popup Menu Example")
|
|
self.panel = p = wx.Panel(self)
|
|
menu = wx.Menu()
|
|
exit = menu.Append(-1, "Exit")
|
|
self.Bind(wx.EVT_MENU, self.OnExit, exit)
|
|
|
|
menuBar = wx.MenuBar()
|
|
menuBar.Append(menu, "Menu")
|
|
self.SetMenuBar(menuBar)
|
|
|
|
wx.StaticText(p, -1,
|
|
"Right-click on the panel to show a popup menu",
|
|
(25,25))
|
|
|
|
self.popupmenu = wx.Menu()
|
|
for text in "one two three four five".split():
|
|
item = self.popupmenu.Append(-1, text)
|
|
self.Bind(wx.EVT_MENU, self.OnPopupItemSelected, item)
|
|
p.Bind(wx.EVT_CONTEXT_MENU, self.OnShowPopup)
|
|
|
|
|
|
def OnShowPopup(self, event):
|
|
pos = event.GetPosition()
|
|
pos = self.panel.ScreenToClient(pos)
|
|
self.panel.PopupMenu(self.popupmenu, pos)
|
|
|
|
|
|
def OnPopupItemSelected(self, event):
|
|
item = self.popupmenu.FindItemById(event.GetId())
|
|
text = item.GetText()
|
|
wx.MessageBox("You selected item '%s'" % text)
|
|
|
|
|
|
def OnExit(self, event):
|
|
self.Close()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
app = wx.PySimpleApp()
|
|
frame = MyFrame()
|
|
frame.Show()
|
|
app.MainLoop()
|
|
|
|
|