我有麻烦张贴一个删除背景事件画到屏幕上。在我的完整代码中,我想画一个位图(DC.DrawBitmap())单击按钮时。我通过发布一个EVT_ERASE_BACKGROUND事件来实现这一点,该事件由一个自定义绑定方法捕获。但是,一旦使用该方法,则事件.GetDC()正常工作的方法失败。在
下面是一个具有相同结果的简化代码:
import wx class Foo(wx.Frame): def __init__(self, parent, title): wx.Frame.__init__ (self, parent, -1, title, size=(500,300)) self.panel = wx.Panel(self, -1) self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground) self.Bind(wx.EVT_ENTER_WINDOW, self.onEnter) self.Show() def OnEraseBackground(self, e): DC = e.GetDC() def onEnter(self, e): wx.PostEvent(self, wx.PyCommandEvent(wx.wxEVT_ERASE_BACKGROUND)) app = wx.App() Foo(None, 'foo') app.MainLoop()
这引发了:
^{pr2}$我怎么解决这个问题?在
在发帖前花了一个小时没成功,五分钟后我自己解决了。。。在
下面是我的解决方案,如果事件没有自己的DC,则创建ClientDC:
相关问题 更多 >
编程相关推荐