0
嘿。我試圖禁用wxpython下的TextCtrl小部件中的上下文菜單(防止在右鍵單擊時出現上下文菜單)。如果我創建了我的菜單,並將其綁定到鼠標右鍵單擊它將始終顯示我的菜單,但如果我不創建菜單下的鼠標右鍵單擊事件它會自動創建一個標準的conext菜單,即使我不打電話event.Skip()(看示例代碼)。這是一個錯誤?有關圍繞此標準上下文菜單的任何想法?wxpython禁用TextCtrl中的上下文菜單
self.Bind(wx.EVT_RIGHT_DOWN, self.OnMouseRightDown)
def OnMouseRightDown(self, event):
pt = event.GetPosition()
self.RightClickContext(event, pt, True)
def RightClickContext(self, event, pt, enable):
menu = wx.Menu()
undo = menu.Append(ID_UNDO, 'Undo')
menu.AppendSeparator()
cut = menu.Append(ID_CUT, 'Cut')
copy = menu.Append(ID_COPY, 'Copy')
paste = menu.Append(ID_PASTE, 'Paste')
menu.AppendSeparator()
delete = menu.Append(ID_DELETE, 'Delete')
selectall = menu.Append(ID_SELECTALL, 'Select All')
undo.Enable(False)
cut.Enable(False)
copy.Enable(False)
if enable:
paste.Enable(True)
else:
paste.Enable(False)
delete.Enable(False)
selectall.Enable(False)
wx.EVT_MENU(menu, ID_PASTE, self.MenuPaste)
self.PopupMenu(menu, pt)
menu.Destroy()
請您發佈完全可運行的示例,如下所示:http://wiki.wxpython.org/MakingSampleApps – 2010-10-28 23:24:30