CPen pen;
这句话创建了一个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++对象的一个成员。
1,CPen pen(PS_SOLID, 1, RGB(0, 0, 0));
与下面相同:
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)
只是将“这只笔”选进内存,为后面的绘制做准备。