"""
# -*- coding: cp1250 -*-
"""
# get coordinates of whole scrolled canvas
import wx
class Okno:
def __init__(self,parent=None,id=wx.ID_ANY,title="Graf"):
self.okno=wx.MDIChildFrame(parent,title="Graf",id=-1)
self.okno.Maximize()
self.okno.SetAutoLayout(True)
self.okno.SetBackgroundColour("#FCFCFE")
self.sizer = wx.FlexGridSizer(2,2,0,0)
self.canvas = wx.ScrolledWindow(self.okno, id=wx.ID_ANY)
self.canvas.EnableScrolling(True, True)
self.canvas.SetScrollbars(20, 20, 1000/20, 1000/20)
self.sizer.Add(self.canvas, 1, wx.EXPAND)
self.sizer.AddGrowableRow(0, 1)
self.sizer.AddGrowableCol(0, 1)
self.okno.SetSizer(self.sizer)
self.canvas.Bind(wx.EVT_PAINT, self.OnPaint)
# hook left mouse button event
self.canvas.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown)
def OnPaint(self, event):
pass
def OnLeftDown(self, event):
"""left mouse button is pressed"""
device_pt = event.GetPosition() # tuple (x, y)
# need to add current scrollbar value logic_pt to device_pt
# if you want position relative to whole canvas
logic_pt = self.canvas.CalcUnscrolledPosition(0, 0)
#print device_pt, logic_pt
adjusted_pt = (device_pt[0]+logic_pt[0], device_pt[1]+logic_pt[1])
self.okno.SetTitle('LeftMouse = ' + str(adjusted_pt))
if __name__ == "__main__":
okno = wx.App(0)
parent=wx.MDIParentFrame(None,size=wx.Size(500,500))
o=Okno(parent)
parent.Show()
okno.MainLoop()