在一个 wx.ScrolledWindow里:
--------------------------------------
class TableGraph(wx.ScrolledWindow):
def __init__(self,parent,ID,title,filename):
wx.ScrolledWindow.__init__(self,parent,ID)
self.SetBackgroundColour("#d0d0d0")
self.SetScrollbars(1,1,4200,2700,True)
…………
def OnPaint(self,evt):
print 'Just on paint is called'
self.InitBuffer()
dc = wx.BufferedPaintDC(self,self.buffer)
============================
def InitBuffer(self):
if self.oldpath == self.filepath:pass
else:
self.oldpath = self.filepath
if self.filehandler.closed:pass
else: self.filehandler.close()
self.Refresh()
size = self.GetClientSize() #Get Client Scale
self.buffer = wx.EmptyBitmap(size.width, size.height) #Set the BufferBitmap as Client Scale
dc = wx.BufferedDC(None,self.buffer)
DoPrepareDC(self,dc)
dc.SetBackground(wx.Brush("#e0e0e0"))
dc.Clear()
temp = self.DrawGraph(dc)
if temp == 0: return
self.myTest()
if self.phraseflag == 1:
self.DrawPhraseMatch()
self.DrawBackground(self.position)
------------------------------------------------------------------
在 InitBuffer()中
主要是画一些线和文字(以线为网格,内填充文字 模仿table 以DC.DrawLine()和DC.DrawText()为主)
于2010-01-08 解决,加一句话(上面红色部分)即可!
阅读(609) | 评论(0) | 转发(0) |