利用MFC 的CDC 类实现画线功能
来源:互联网 发布:js原型的概念 编辑:程序博客网 时间:2024/05/16 05:47
MFC为我们提供了一个设备描述表的封装类CDC,该类封装了所有与绘图相关的操作。该类提供了一个数据成员m_hDC,用来保存于CDC 类相关的DC 句柄。
其道理,与CWnd类提供m_hWnd成员变量保存与窗口相关的窗口句柄是一样的。代码如下:
void CDrawView::OnLButtonUp(UINT nFlags, CPoint point) {/*HDC hdc; //首先,获得窗口的设备描述符hdc=::GetDC(m_hWnd);//线段的起点MoveToEx(hdc,m_ptOrigin.x,m_ptOrigin.y,NULL);//线段的终点LineTo(hdc,point.x,point.y);::ReleaseDC(m_hWnd,hdc);//释放DC */CDC *pDC=GetDC();pDC->MoveTo(m_ptOrigin);pDC->LineTo(point);ReleaseDC(pDC);CView::OnLButtonUp(nFlags, point);}
利用MFC 类实现画线功能时,首先需要定义一个CDC 类型的指针,并利用CWnd类的成员函数GetDC 获取当前窗口的设备描述表对象的指针;
接着,利用CDC类的成员函数MoveTo和LineTo完成画线操作;最后,调用CWnd类的成员函数ReleaseDC释放设备描述表资源。
Build并运行Drawc程序,拖动鼠标同样可以在窗口中绘制直线。
提示:
因为CWnd类提供了成员函数GetDC和ReleaseDC,因此先前利用Platform SDK函数实现画线功能时,这两个函数前面都加上了"::",表明它们是全局函数。否则,VC++编译器将认为它们是CWnd类的成员函数。
0 0
- 利用MFC 的CDC 类实现画线功能
- 利用MFC的CClientDC类实现画线功能
- 启用MFC的CClientDC类实现画线功能
- 利用SDK与MFC实现画线功能的五种方法
- 利用silverlight中Path类实现跟随鼠标画线功能
- 小字典之MFC简单的多线程调用类的成员函数实现逐步画线功能 VS2015 C++ 完成
- 利用Sqlserver的CDC功能实现2张表的同步更新
- MFC实现画图工具中的画线功能(一)
- MFC实现画图工具中的画线功能(二)
- MFC实现画图工具中画线功能(三)
- MFC消息映射机制以及画线功能实现
- iOS-实现最简单的画线功能
- IOS简单的画线功能实现
- 利用SDK全局函数实现画线功能详解
- [iOS]画线功能实现
- MFC之CDC的结构类图
- MFC CDC类
- MFC之CDC类
- OCP 1Z0 052 157
- HDU 3911 Black And White 线段树
- 剪图神器
- 翰子昂阶段性测试_S1阶段 ——C 方向理论测试试题A卷
- RMC 远程监控软件 被动监控
- 利用MFC 的CDC 类实现画线功能
- 83_leetcode_Permutations
- Perl操作Excel文档
- Qt环境下利用opencv逐帧播放视频
- HDU 2222 AC自动机模板
- Mac os svn 降级 1.7->1.6
- 打印lua中的table
- 什么是内存泄漏
- MySql之用户远程连接