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()
 | 
						|
 | 
						|
    
 |