目录
DC(Device Context): 绘图设备
HDC: 绘图设备句柄
GDI(Microsoft Graphics Device Interface) Win32提供的绘图API
GDI 绘图
0、PAINTSTRUCT结构
typedef struct tagPAINTSTRUCT {
HDC hdc; //绘图设备句柄
BOOL fErase; //背景是否需要重新绘制
RECT rcPaint; //请求指定绘制矩形的左上角和右下角
BOOL fRestore; //系统预留的
BOOL fIncUpdate; //系统预留的
BYTE rgbReserved[32]; //系统预留的,保留的内存块
} PAINTSTRUCT, *PPAINTSTRUCT;
调用 BeginPaint函数启动绘画操作。这个函数填充了PAINTSTRUCT结构体,并提供了重新绘制请求的信息。当前更新区域是在PAINTSTRUCT的rcPaint成员中给出的。此更新区域是相对于客户端区域定义的。
1、窗口句柄得到设备环境句柄HDC,
1、 采用BeginPaint获取HDC
PAINTSTRUCT ps;// 保存
HDC hdc = ::BeginPaint( hwnd, &ps );
/*
此处添加绘图代码
*/
::EndPaint( hwnd, &ps );
注:
获得的hdc的有效区域仅限于客户区无效区域的设备环境句柄,不包括标题栏、边框等。
2、 采用GetWindowDC获取HD
HDC hdc = ::GetWindowDC( hwnd