CPen pen; 1,CPen pen(PS_SOLID, 1, RGB(0, 0, 0));
这句话创建了一个C++对象,也叫类的实例。这里的pen,并不是你所说的GDI对象。而是一个C++对象。
GDI对象是操作系统的一种数据结构。它是与语言无关的。GDI对象指的是操作系统的某种资源,如PEN, BITMAP,REGION等等。要创建一个GDI对象,在SDK中用如下语句
HPEN hPen = CreatePen(PS_SOLID, 1, RGB(0, 0, 0));
这里的hPen就是一个指向GDI对象的句柄。
因此,在用MFC时,要创建一个GDI对象,要分两步:
1. CPen pen; //创建一个C++对象。
2. pen.CreatePen(PS_SOLID, 1, RGB(0,0,0)); //创建GDI对象,这个GDI对象是前 面创建的C++对象的一个成员。
与下面相同:
CPen pen;
pen.CreatePen(PS_SOLID, 1, RGB(0, 0, 0));
第二条语句的确是初始化已经创建的CPen.
(initialize a pen with the specified style, width, and color.)
2,pDC-> SelectObject(&pen)
只是将“这只笔”选进内存,为后面的绘制做准备。
本文详细介绍了如何使用C++创建GDI对象的过程。首先通过C++对象进行实例化,然后利用该对象的方法创建实际的GDI资源。文中还对比了两种不同的初始化方式,并解释了选择对象进入内存的操作。
946

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



