
如果你要重绘,那么需要先把那张图片重新绘一下,然后再做其他 *** 作。就像做游戏画面一样,要先画背景,再画人物。每一屏都是不同的帧。
不建议自己实现背景擦除消息,太过麻烦,而且会有很多副作用。另外,如果不用双缓冲,尽量在OnPaint里用CPaintDC dc(this)(这句不可少,不然MFC会认为PAINT消息没起作用,然后不断重发,导致CPU过高),而不要用CDC *pdc = GetDC(),这样需要重绘整个界面,而不是像CPaintDC只绘制无效区域,效率上后者会高一些。
纯手打的,望采纳
用 VC 实现 绘图相对还是比较容易的.
定义好图元类, 成员 主要有 位置, 线型,填充类型等实现绘图方法: 调用 CDC 类的 绘图函数实现绘制
定义好图元的存储管理, 可以用链表,或数组
如果 用 文档-视图 框架,在视图的 OnDraw 方法中, 调用各图元的绘图方法, 完成 图形的显示
如果没用文档-视图 框架,则在 窗口的 WM_PAINT事件中,完成绘图
4. 设计好交互, 在 WM_LBUTTONDOWN, WM_LBUTTONUP, WM_MOUSEMOVE等事件中, 进行具体实现. 主要新建 , 改变大小, 拖动等.
这样基本可以实现 简单的 绘图了.
可百度搜索
想用mfc做一个绘图系统,画圆直线矩形填充颜色和平移
有我帮网友作的一个例子.
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)