以保持窗口在变动时,不删除原来的图形,
谢谢!!!
12 个解决方案
#1
好像比较悬
#2
由对象自己管理自己的图形显示,所以需要重绘。
这是windows的gui机制吧,不然无法解决图形界面的缓存问题。
这是windows的gui机制吧,不然无法解决图形界面的缓存问题。
#3
响应消息WM_ERASEBKGND,在函数中不调用基类的响应函数.
#4
我看你要把窗口更新函数删掉试一试,不过这样对你没有什么好处。
#5
难道就没有什么使用的办法么???
#6
在你的程序中把所有的图形都暂时放到内存中,然后等到刷新完成后在复制回来,当然这时还会刷新窗口,不过图像应该不会变的。
#7
在你的程序中把所有的图形都暂时放到内存中,然后等到刷新完成后在复制回来,当然这时还会刷新窗口,不过图像应该不会变的。
#8
有没有源代码资助??
#9
他们的方法太麻烦了.
用结构把你要画的图形参数作为View或Doc类的成员变量存储,
然后在OnDraw()函数中编写重画图形,每次屏幕改动,OnDraw()都会被调用的,
这样你的图形旧显示出来了,这个方法我屡试不爽,唯一缺点是可能稍有闪烁,
要解决这个问题,建议你看一下电子工业出版社的:vc疑难问题解答.
仔细分析了屏幕重绘的过程,其中有一个ERASEBACKGROUD至关重要,正是因为
在屏幕重绘过程中有一个默认环节是把屏幕刷成白色,使得屏幕闪烁,你可以找到这个函数,然后加以改造,不过太烦了.
用结构把你要画的图形参数作为View或Doc类的成员变量存储,
然后在OnDraw()函数中编写重画图形,每次屏幕改动,OnDraw()都会被调用的,
这样你的图形旧显示出来了,这个方法我屡试不爽,唯一缺点是可能稍有闪烁,
要解决这个问题,建议你看一下电子工业出版社的:vc疑难问题解答.
仔细分析了屏幕重绘的过程,其中有一个ERASEBACKGROUD至关重要,正是因为
在屏幕重绘过程中有一个默认环节是把屏幕刷成白色,使得屏幕闪烁,你可以找到这个函数,然后加以改造,不过太烦了.
#10
不可能。除非你不想画窗口自己处理了。onerasebkgnd等消息。
#11
vc++文档中心有篇利用双缓冲画图的文章。你去看看吧。思想类似于tophipster的。
#12
应该是可以的。
但是具体细节不清楚。
但是具体细节不清楚。
#1
好像比较悬
#2
由对象自己管理自己的图形显示,所以需要重绘。
这是windows的gui机制吧,不然无法解决图形界面的缓存问题。
这是windows的gui机制吧,不然无法解决图形界面的缓存问题。
#3
响应消息WM_ERASEBKGND,在函数中不调用基类的响应函数.
#4
我看你要把窗口更新函数删掉试一试,不过这样对你没有什么好处。
#5
难道就没有什么使用的办法么???
#6
在你的程序中把所有的图形都暂时放到内存中,然后等到刷新完成后在复制回来,当然这时还会刷新窗口,不过图像应该不会变的。
#7
在你的程序中把所有的图形都暂时放到内存中,然后等到刷新完成后在复制回来,当然这时还会刷新窗口,不过图像应该不会变的。
#8
有没有源代码资助??
#9
他们的方法太麻烦了.
用结构把你要画的图形参数作为View或Doc类的成员变量存储,
然后在OnDraw()函数中编写重画图形,每次屏幕改动,OnDraw()都会被调用的,
这样你的图形旧显示出来了,这个方法我屡试不爽,唯一缺点是可能稍有闪烁,
要解决这个问题,建议你看一下电子工业出版社的:vc疑难问题解答.
仔细分析了屏幕重绘的过程,其中有一个ERASEBACKGROUD至关重要,正是因为
在屏幕重绘过程中有一个默认环节是把屏幕刷成白色,使得屏幕闪烁,你可以找到这个函数,然后加以改造,不过太烦了.
用结构把你要画的图形参数作为View或Doc类的成员变量存储,
然后在OnDraw()函数中编写重画图形,每次屏幕改动,OnDraw()都会被调用的,
这样你的图形旧显示出来了,这个方法我屡试不爽,唯一缺点是可能稍有闪烁,
要解决这个问题,建议你看一下电子工业出版社的:vc疑难问题解答.
仔细分析了屏幕重绘的过程,其中有一个ERASEBACKGROUD至关重要,正是因为
在屏幕重绘过程中有一个默认环节是把屏幕刷成白色,使得屏幕闪烁,你可以找到这个函数,然后加以改造,不过太烦了.
#10
不可能。除非你不想画窗口自己处理了。onerasebkgnd等消息。
#11
vc++文档中心有篇利用双缓冲画图的文章。你去看看吧。思想类似于tophipster的。
#12
应该是可以的。
但是具体细节不清楚。
但是具体细节不清楚。