我喜欢用对话框画图而不是用单文档画图。我在对话框上用画笔和画刷画好图,将对话框最小化,再还原,原来画的东西就会消失,也就是说,系统没有对我的客户区重画,我应该怎么样才能保存我的东西不消失呢?
解决方案 »
- 初学GDI+,刚准备入门就被难住了...求指导
- 如何枚举系统中已经安装了哪些程序?
- 请大家将自已的学习VC的经验给我说说好吗: msn:[email protected]
- 什么样的条件才能找到一份VC程序员的工作?
- 帮我看一下这个小程序有什么错误?
- 提个很弱的问题,顺便散分。
- 非常希望大家帮忙测试一下这个软件----
- 怎样能让鼠标右键点击dialog上的任何地方(包括控件上面,和一般客户区)都能弹出同样的菜单??
- TrueType 字体如何开发出来的?
- 有什么好的工具可以把256色bmp转换成ico格式的文件?
- 高手赐教!!如何区别MFC中的全局函数与WIN32 API函数?
- 请问有没有好的高效的动态内存分配方法,malloc除外。
然后放到OnPaint里绘出来
怎么把对话框上某一块地方的内容保存在bmp文件中?
还有,drawcli例子太大,我一下难看懂
希望能够具体一点,谢谢
做一个图元的基类(CDrawObj),基类派生子类,子类有自己的draw方法(虚函数)。每个具体的图元都是一个子类对象。CDrawDoc下保存图元在CDrawObjList类型的链表里。需要重绘时,只要遍里CDrawObjList链表,每个图元对象draw一下就可以了。
谢谢
CPen pen;
pen.CreatePen(PS_SOLID, 1, RGB(255, 0, 0)); CDC memDC;
CBitmap bmp;
bmp.CreateCompatibleBitmap(pDC, 200, 200);
memDC.CreateCompatibleDC(pDC);
memDC.SelectObject(&bmp); memDC.SelectObject(&pen); memDC.MoveTo(0, 0);
memDC.LineTo(200, 200); pDC->BitBlt(0, 0, 500, 500, &memDC, 100, 100, SRCCOPY); memDC.DeleteDC();
bmp.DeleteObject();
pen.DeleteObject();你可以把memdc的创建放在OnCreate里