第一部分——画线
第一种方法:
HDC声明一个句柄。
GetDC(m_hWnd)返回一个指向m_hWnd句柄的窗口的设备描述表。
MoveToEx和LineTo是两个GDI(图形调和接口——基于类的API)函数。
GetDC()必须和ReleaseDC一起使用,因为Windows中,设备资源是共享的,一个应用程序使用设备后必须释放它。
第二种方法:
CDC(DC类)声明一个DC对象 CDC*声明一个指向DC对象的指针(例如pDC)。
*pDC有两个方法 MoveTo和LineTo。
使用后要ReleaseDC()函数的形参是指针类型的,这就是为什么一开始CDC不声明对象而是对象指针的原因。
第三种方法:(比较方便)
CClientDC类,这个类的构造函数(形参是指向窗口的指针)获取DC,析构释放。
同样有MoveTo和LineTo这两个方法
后面的部分讲在客户区以外的区域中画线
PS:这部分介绍了怎么得到父类窗口的指针,用GetParent()函数得到返回值;
用CClientDC dc(GetParent())得到的DC是客户区
第四种方法:
CClientDC改成CWindowDC()可以得到窗口的DC;
CWindow dc(GetParent())得到主窗口包括标题栏的D

本文详细介绍了在Windows环境中使用图形API进行画线的方法,包括通过HDC、CDC和CClientDC/CWindowDC类实现。同时讲解了如何修改画笔样式,使用画刷填充区域,并探讨了位图的加载与应用,以及实现透明画刷的技巧。文章适合熟悉Windows编程的读者深入理解GDI和MFC库。
最低0.47元/天 解锁文章
4221

被折叠的 条评论
为什么被折叠?



