1.定义窗体绑定函数
bgParent.Bind(wx.EVT_LEFT_DOWN, self.OnPanelLeftDown)
bgParent.Bind(wx.EVT_MOTION, self.OnPanelMotion)
bgParent.Bind(wx.EVT_LEFT_UP, self.OnPanelLeftUp)
2.函数实现
def OnPanelLeftDown(self, event):
pos = event.GetPosition()
x, y = self.ClientToScreen(event.GetPosition())
ox, oy = self.GetPosition()
dx = x - ox
dy = y - oy
self.delta = ((dx, dy))
def OnPanelMotion(self, event):
if event.Dragging() and event.LeftIsDown():
mouse=wx.GetMousePosition()
self.Move((mouse.x-self.delta[0],mouse.y-self.delta[1]))
def OnPanelLeftUp(self, event):
if self.frame.HasCapture():
self.frame.ReleaseMouse()
函数说明:
1,OnPannelLeftDown 鼠标左键按下
2, OnPannelMotion 鼠标左键按下后拖动,同时带动窗体移动
3,OnPanneLeftUp 鼠标左键松开,移动窗体结束