fenster verschieben
Verfasst: Dienstag 10. Juli 2007, 23:59
Hallo... ich hab mir hier ein kleines Tool gebastelt. Da das Fenster keinen System-Rahmen haben wird, habe ich eine Methode moveWindow implementiert und das Event EVT_LEFT_DOWN daran gehaengt.
Funktionieren tut es wunderbar. Auch das der normale Klick (also EVT_MOUSE_UP, an dem auch etwas haengt) durch einen Boolean verhindert wird.
Meine Frage ist eigentlich nur, ob das okay so ist, oder vielleicht zu Ressourcen-Intensiv? Gibt es eine elegantere Methode als eine while-Schleife?
Aber nun erstmal der Code:
Danke
Funktionieren tut es wunderbar. Auch das der normale Klick (also EVT_MOUSE_UP, an dem auch etwas haengt) durch einen Boolean verhindert wird.
Meine Frage ist eigentlich nur, ob das okay so ist, oder vielleicht zu Ressourcen-Intensiv? Gibt es eine elegantere Methode als eine while-Schleife?
Aber nun erstmal der Code:
Code: Alles auswählen
def moveWindow(self, evt):
mouse = wx.GetMouseState()
current_position = self.GetScreenPosition()
delta_x = mouse.x - current_position.x
delta_y = mouse.y - current_position.y
while mouse.leftDown:
pos = wx.Point(mouse.x-delta_x, mouse.y-delta_y)
self.SetPosition(pos)
mouse = wx.GetMouseState()
if not self.GetScreenPosition() == current_position: self.moved = True