DC/画线/获得窗口指针/画刷/位图

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

第一部分——画线

第一种方法:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值