2011年6月11日星期六

  编程日志——画线——获得窗口指针

第一种方法:

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())得到主窗口包括标题栏的DC。

注意:工具栏是客户区

没有评论:

发表评论