社区
界面
帖子详情
CDC绘图问题请教
widesnow
2009-01-23 10:43:30
我想将一张图片绘制到Dialog上,
请问在OnPaint()中使用如下代码
CDC *pDC = GetDC();
为何出现闪烁,
但是使用
CPaint cb(this);
就没有问题。
类似的问题在OnDraw(CDC *pDC)中也存在。
如果使用OnDraw的pDC就没有问题。而我自己GetDC就会出现闪烁。
为什么呢?敬请高手指教...
...全文
203
8
打赏
收藏
CDC绘图问题请教
我想将一张图片绘制到Dialog上, 请问在OnPaint()中使用如下代码 CDC *pDC = GetDC(); 为何出现闪烁, 但是使用 CPaint cb(this); 就没有问题。 类似的问题在OnDraw(CDC *pDC)中也存在。 如果使用OnDraw的pDC就没有问题。而我自己GetDC就会出现闪烁。 为什么呢?敬请高手指教...
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lovev8
2009-02-01
打赏
举报
回复
这种情况只有双缓冲可避免闪烁。
BenzKuai
2009-01-26
打赏
举报
回复
产生拷贝了,在画图的时候就会出现闪烁。
dxk01
2009-01-26
打赏
举报
回复
不同地方的CDC*还是有差别的
whypp
2009-01-26
打赏
举报
回复
CDC *pDC 不可以吗?
widesnow
2009-01-24
打赏
举报
回复
多谢,言简义赅。
showxier
2009-01-24
打赏
举报
回复
如果是将CPaintDC dc(this)//掉,再用GetDC,得的DC是哪个
aility
2009-01-23
打赏
举报
回复
跟着楼主学习下
arong1234
2009-01-23
打赏
举报
回复
无论再OnPaint还是在OnDraw中,系统已经有了一个DC,你就不应该再去GetDC. CPaintDC会利用你此前Invalidate的矩形区
去绘制,总体来说绘制的区域小。它本身不能消除闪烁,但是如果你GetDC,被复位的区域太大,出现闪烁的可能性就大多了
MapX的
绘图
刷新导致客户区
cdc
绘图
丢失的
问题
。
本文介绍了解决在MapX
绘图
过程中与
CDC
直接
绘图
冲突的
问题
。通过监听MapX的MapDraw事件,确保在MapX
绘图
结束后再进行
CDC
绘图
,避免了因MapX刷新而导致
CDC
绘图
被覆盖的情况。
CDC
在窗口
绘图
时,闪烁
问题
这篇博客详细介绍了如何在C++的MFC应用程序中处理WM_ERASEBKGND消息,以自定义窗口背景的清除行为。通过重载OnEraseBkgnd函数并返回true,阻止了默认的背景擦除,允许更精细的控制窗口
绘图
。
关于
CDC
在非控件类中的使用
本文讨论了在非CStatic派生类中使用
CDC
进行
绘图
时遇到的
问题
及解决方案。具体介绍了如何通过传递
CDC
指针而不是
CDC
变量来避免访问私有成员变量的错误,确保
绘图
功能正常工作。
编程错误记录(二)之
CDC
绘图
本文探讨了在
CDC
绘图
中Invalidate的重要作用及其应用,包括更新视图、解决滚动
问题
的方法,以及画图逻辑错误的排查技巧。重点强调了数类型处理、坐标变换、除法运算及数据范围的注意事项,确保
绘图
效果准确无误。
经典的双缓冲
CDC
绘图
类(解决闪烁
问题
)
本文介绍了CMemDC类的实现及其在内存
绘图
与调试中的应用,通过实例展示了如何在不牺牲内存
绘图
效率的同时,方便进行图形调试。
界面
15,976
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章