我在c ++中使用wxWidgets时,我一直在使用wcClientDC绘制绘制事件,导致闪烁。我想帮助使用wxBufferedDC。我确实用wxBufferedDC替换了wxClientDC,我认为这样可行,但代码不能编译,因为有一些construtor参数。
我的工作代码是:
wxClientDC dc(panel2);
替换为:
wxBufferedDC dc(panel2);
为了使用wxBufferedDC,我需要做什么?
答案 0 :(得分:0)
要修复闪烁,你必须避免从你的wxEVT_PAINT
处理程序之外进行绘制,如果你想要尽快重绘窗口,缓冲绘图并没有多大帮助。因此,不要将wxClientDC
替换为wxBufferedDC
,而是完全摆脱wxClientDC
并使用wxAutoBufferedPaintDC
代替wxPaintDC
。