MFC中设备描述表dc的使用
1 以下代码我是在View类中实现的: 2 /** 利用平台SDK实现画线功能 3 // 首先获得窗口的设备描述表 4 HDC hdc; 5 hdc = ::GetDC( m_hWnd ); //调用的是平台SDK的成员函数 6 // 移动到线条的起点 7 MoveToEx( hdc, m_ptOrigin.x, m_ptOrigin.y, NULL ); // 第四个参数是一个指向Point结构体的指针,用于保存移动前鼠标的位置坐标,这里不需要这个坐标,所以设置为NULL 8 LineTo( hdc, point.x, point.y ); 9 ::ReleaseDC( m_hWnd, hdc ); 10 CView::OnLButtonUp(nFlags, point); 11 */ 12 13 /** CDC 类,利用MFC封装类实现画线功能 14 CDC* pDC = GetDC(); // 调用的是CWnd类的成员函数,View类也是从CWnd类继承的 15 pDC->MoveTo( m_ptOrigin ); 16 pDC->LineTo( point ); 17 ReleaseDC( pDC ); 18 */ 19 20 /** 利用CDC 类的派生类 CClientDC 实现画线功能, 他在构造函数中调用GetDC,在析构时调用ReleaseDC,因此不需要显示调用 21 //CClientDC dc( this ); 22 CClientDC dc( GetParent() ); 23 dc.MoveTo( m_ptOrigin ); 24 dc.LineTo( point ); 25 */ 26 27 /**CWindowDC 也派生于CDC类 28 //CWindowDC dc( this ); // 在客户区绘图 29 //CWindowDC dc( GetParent() ); // 可以在菜单栏和工具栏上绘图 30 CWindowDC dc( GetDesktopWindow()); 31 dc.MoveTo( m_ptOrigin ); 32 dc.LineTo( point ); 33 */ 34 35 /** 画笔的使用 36 //CPen pen( PS_SOLID, 2, RGB(255, 0, 0) ); 37 //CPen pen( PS_DASH, 1, RGB(255, 0, 0) ); //线宽必须<=1才生效 38 CPen pen( PS_DOT, 1, RGB(255, 0, 0) ); 39 CClientDC dc( this ); 40 CPen* pOldPen = dc.SelectObject( &pen ); 41 dc.MoveTo( m_ptOrigin ); 42 dc.LineTo( point ); 43 dc.SelectObject( pOldPen ); 44 */ 45 46 /** 颜色画刷的使用 47 CBrush brush( RGB(255, 0, 0) ); 48 CClientDC dc( this ); 49 dc.FillRect( CRect( m_ptOrigin, point), &brush ); 50 */ 51 52 /** 位图画刷的使用 53 CBitmap bitmap; 54 bitmap.LoadBitmapW( IDB_BITMAP1 ); 55 CBrush brush( &bitmap ); 56 CClientDC dc( this ); 57 dc.FillRect( CRect( m_ptOrigin, point ), &brush ); 58 */ 59 60 /** 默认是白色画刷,会覆盖掉先前区域内图行 61 CClientDC dc( this ); 62 dc.Rectangle( CRect( m_ptOrigin, point ) ); // DC 默认是白色画刷,前边画的图像会把后边的覆盖掉,所以要想办法用透明画刷 63 */ 64 65 /** 使用透明画刷 66 CClientDC dc( this ); 67 // 创建一个空画刷,FromHandle方法可以将画刷句柄转换成画刷对象 68 // GetStockObject方法返回的是一个HGDIOBJECT句柄,所以要将其强制类型转化成HBRUSH类型 69 CBrush* pBrush = CBrush::FromHandle( (HBRUSH)GetStockObject( NULL_BRUSH)); 70 CBrush* pOldBrush = dc.SelectObject( pBrush ); 71 dc.Rectangle( CRect( m_ptOrigin, point ) ); 72 dc.SelectObject( pOldBrush ); 73 */
MFC中设备描述表dc的使用相关推荐
- MFC中设备描述符DC,CDC,HDC,CClientDC总结
实际这篇文章是转的,,呵呵改成原创以便推到首页.. CClientDC 类CClientDC派生于CDC,在构造时调用了Windows函数GetDC,在析构时调用了ReleaseDC.这意味着和CCl ...
- MFC中属性表单和向导对话框的使用
每次在使用MFC创建一个框架时,需要一步步选择自己的程序的外观,基本功能等选项,最后MFC会生成一个基本的程序框架,这个就是向导对话框:而属性表单则是另外一种对话框,表单上有多个属性页,每点击某一页, ...
- MFC中的DC,CDC和HDC
设备描述表(DC)是Windows中的一种数据结构,它包含GDI需要的所有关于显示界面情况的描述字段,包括相连的物理设备和各种各样的状态信息. 图形显示功能是由显卡来完成的,你想要利用显卡的图形显示功 ...
- Windows 中GDI、设备描述表和位图
在Windows中,所有的图形和图像显示操作都是通过GDI(Graphic Device Interface)模块完成,,而GDI的显示都是由设备描述表(Context Device,简称DC)来完成 ...
- MFC中 dc.DrawText()与dc.TextOut()从功能上讲有什么区别?
这根本是两个函数,dc.TextOut(x,y,str)调用的是MFC中CClientDC类的成员函数TextOut,而TextOut(dc,x,y,length)是WIN32的API函数,其中的dc ...
- MFC中的GDI绘图
MFC中的GDI绘图 目录(?)[+] 什么是GDI 什么是DC MFC中与GDI有关的类 获取设备环境 设置坐标映射 创建绘图工具并选入DC 调用DC绘图函数绘图 三坐标映射实例 一.关于GDI的基 ...
- 在vc或mfc中显示IplImage的方法
平常使用Open CV时总是跳出一个个窗口,很难将项目进行系统集成,特别是在MFC等Windows环境中加载显示Open CV中的IplImage图像: /********************** ...
- MFC中CDC *PDC hDC 等等及Wnd的区别
HDC是WINDOWS的一种数据类型,是设备描述句柄. CDC是MFC里的一个类,它封装了几乎所有的关于HDC的操作. pDC一般用作CDC类的指针. 也可以这样说,HDC定义的变量指向一块内存,这内 ...
- mfc中字体设置详解
为了能选用不同的字体和大小来输出文本串,须使用作为GDI对象的 CFont类.Windows和常用的字处理软件(如Word).绘图软件(如CorelDraw)等应用软件会提供多种与设备无关的字体,主要 ...
最新文章
- 人眼是具有插帧能力的
- c++精确到小数点后两位_高考试卷的小数点是怎么算入总分的?
- 重庆python就业工资待遇-重庆Python人工智能编程
- 骁龙660是32位还是64位_骁龙660是32位还是64位_都是搭载骁龙660处理器 这三款国产手机如何选...
- 状态反射在体育运动中的作用_建筑用热反射隔热涂料的研究进展
- exe打包工具哪个最好_为你的 Python 程序写个启动工具箱
- tomcat启动java项目_Java web项目启动Tomcat报错解决方案
- Maven自学日志01---安装
- logback配置文件详解
- java struts2下载文件_java struts2入门学习---文件下载的二种方式
- Vijos P1740聪明的质检员
- struts1和struts2的区别
- 淘宝CPC、CPM和CPS分别是什么,有什么区别?
- 沈颖刚:生物柴油或是高原柴油货车污染治理有效途径
- 系统启动故障恢复控制台应用实例
- 我的程序员转行过程,聊聊程序员的职业出路在哪里?
- java短信登录_JAVA短信验证登录
- 艾伦·麦席森·图灵的传奇人生
- Java程序员从携程、美团、阿里面试回来,这些面经分享给大家
- IE浏览器通过JS提交表单时报错拒绝访问
热门文章
- perl 连接mysql_perl如何连接mysql数据库?
- linux mysql 操作命令_linux的mysql操作命令
- C++ ——统一初始化
- android 流失布局,Android使用RecyclerView实现流式布局的注意事项
- html分页自动加载数据库,AngularJS实现分页显示数据库信息
- mamp python mysql_Python,MySQL,MAMP怎么做?
- 【java 性能优化实战】3 工具实践:如何获取代码性能数据?
- kubernetes资源对象之security context
- 关于微型计算机的ppt,微型计算机基础知识.ppt
- 【PHPWord】文本输入