如何获得设备环境句柄(HDC) 详细�0�3
的有关信息介绍如下:方法(详细参数及其调用可以看考MSDN): 1、 HWND FindWindow(LPCTSTR lpClassName, LPCTSTR lpWindowName) HWND FindWindowEx(HWND hwndParent, HWND hwndChildAfter,LPCTSTR lpClassName, LPCTSTR lpWindowName) 2、 HWND WindowFromPoint(POINT& Point) 3、 BOOL CALLBACK EnumChildProc(HWND hwnd,LPARAM lParam) BOOL CALLBACK EnumChildWindows(HWND hWndParent, WNDENUMPROC lpEnumFunc,LPARAMlParam) BOOL CALLBACK EnumWindows(WNDENUMPROC lpEnumFunc, LPARAM lParam) BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam) 二、由窗口句柄得到设备环境句柄HDC 方法:BeginPaint、GetWindowDC、GetDC。这些函数都需要步骤一中的HWND 的句柄。调用这 些函数后要释放句柄,相应的有EndPaint、ReleaseDC 进行清理。 1、 采用BeginPaint 获取HDCHDC hdc; PAINTSTRUCT ps;// 保存 hdc = ::BeginPaint( hwnd, &ps ); // 此处添加绘图代码 ::EndPaint( hwnd, &ps ); 说明:获得的hdc 的有效区域仅限于客户区无效区域的设备环境句柄,不包括标题栏、边框等。 2、 采用GetWindowDC 获取HDC HDC hdc = ::GetWindowDC( hwnd ); // 此处添加绘图代码 ::ReleaseDC( hwnd, hdc ); 说明:绘制区域是整个窗口(边框、标题栏、客户区的总和)。 3、 采用GetDC 获取HDC HDC hdc = ::GetDC( hwnd ); // 此处添加绘图代码