Added the sample code from wxPython In Action to the samples dir
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42925 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
49
wxPython/samples/wxPIA_book/Chapter-10/popupmenu.py
Normal file
49
wxPython/samples/wxPIA_book/Chapter-10/popupmenu.py
Normal file
@@ -0,0 +1,49 @@
|
||||
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()
|
||||
|
||||
|
Reference in New Issue
Block a user