WindowsGDI

来源:互联网 发布:akaw是什么牌子知乎 编辑:程序博客网 时间:2024/06/04 20:50

windows GDI:

在不处理WM_PAINT消息时,用GetDc和ReleaseDc来获取设备描述句柄,在处理的时侯,用BeginPaint与EndPaint来获取

hdc=BeginPaint(hwnd,&ps);

EndPaint(hwnd,&ps);

变量ps是类型为PAINTSTRUCT的结构体,该结构的hdc字段是BeginPaint返回的设备描述句柄,PAINTSTRUCT结构又包含一个名为rcPaint的RECT结构体,rcPaint定义了一个包围窗口客户区无效范围的矩形。使用从BeginPaint获得的设备描述句柄,只能在这个区域内绘图。BeginPaint调用使该区域有效。

windows在处理非WM_PAINT消息时获取设备描述句柄:

hdc=GetDc(hwnd);

Release(hwnd,hdc);

这个设备描述表适用于窗口句柄为hwnd的客户区,这些调用与BeginPaint和EndPaint的组合之间的基本区别是,利用从GetDC返回的句柄可以在整个客户区上绘图,当然,GetDC和ReleaseDC不使客户区中任何可能的无效区域变为有效。

Windows程序还可以获取适用于整个窗口的设备描述表句柄:

hdc=GetWindowDC(hwnd);

ReleaseDC(hwnd,hdc);

获取设备描述表句柄的另一个更通用的函数是CreateDC:

hdc=CreateDC(pszDriver,pszDevice,pszOutput,pData);

Delete(hdc);

 

 

 

 

 

0 0