c++ MFC 画笔画一个圆形
2014-01-09 17:37
363 查看
1. 用画笔画个圆形:
2. 有个问题需要处理,这种画笔画完后移动窗口或者最小化后,会消失,所以得再处理一下:
使用消息 WM_ACTIVATE 的 onActivate()
#define WHITE_CIRCLE RGB(255, 255, 255) #define PINK_CIRCLE RGB(255, 0, 255) #define GREEN_CIRCLE RGB(0, 255, 0) #define RED_CIRCLE RGB(255, 0, 0) void CMFCcodeDlg::DrawCircle(int nIdc, int nColor) { CClientDC dc(this); CPen pen(PS_SOLID, 3, nColor); dc.SelectObject(&pen); CBrush *pBrush = new CBrush(nColor); dc.SelectObject(pBrush); CRect rect; ((CEdit*)GetDlgItem(nIdc))->GetWindowRect(rect); ScreenToClient(rect); //dc.Ellipse(rect.right - 150, rect.top - 150, rect.right, rect.top); dc.Ellipse(rect.right+10, rect.top, rect.right+10+(rect.bottom - rect.top), rect.bottom); if (pBrush) { delete pBrush; pBrush = NULL; } } DrawCircle(IDC_EDIT_IMEI, WHITE_CIRCLE);
2. 有个问题需要处理,这种画笔画完后移动窗口或者最小化后,会消失,所以得再处理一下:
使用消息 WM_ACTIVATE 的 onActivate()
void CMFCcodeDlg::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized) { CDialogEx::OnActivate(nState, pWndOther, bMinimized); // TODO: 在此添加消息处理程序代码和/或调用默认值 DrawCircle(IDC_EDIT_SCAN_CODE, WHITE_CIRCLE); }
相关文章推荐
- HTML5_canvas(设置画笔样式、左右跑动的小块、绘制路径的方法、写字板、绘制圆形的方法、吃豆豆、绘制文本、环形进度条)设置一个模板
- VS2010 C++ MFC框架学习笔记2 - 创建一个简单的加法计算器(2)
- 用win32 api(非mfc)实现的一个圆形按钮以及WM_COMMAND消息
- MFC(VC,C++)下,OCX内使用另外一个OCX方法(内嵌OCX)-《零度屏幕录像软件》之笔记一
- C++MFC学习心得(四)——CListBox自绘控件碰到的一个小问题
- VS2010 C++ MFC框架学习笔记1 - 创建一个简单的加法计算器(1)
- 分享一个C++源码(有助于MFC学习)
- 一个采用了MFC文档序列化的C++文件管理类
- 想编一个局域网内的P2P文件传输软件,C++的,基于TCP协议,使用MFC需要建哪些类?
- c++ 获取一个网页下所有子链接
- 关于C++中纯虚函数的一个记录
- 看了一个老师布置的C++作业,也顺便练习一下,提高一下自己
- VS2008中C++打开Excel(MFC)
- 用C++设计一个不能被继承的类(用私有构造函数+友元函数)
- C++ 又一个字符串分割算法
- c++中 打开一个文件夹下的所有特定格式的文件(如JPG)
- C++定义一个只能在堆上(栈上)生成对象的类
- 用c++写一个链队列
- 设计模式---单件(C++版) 一个简单实例(避免用户忘记delete单件实例)
- 用C/C++实现一个存储整形数据的栈数据结构