如何获得设备环境句柄(HDC) 详细�0�3
1个回答
展开全部
方法(详细参数及其调用可以看考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 );
// 此处添加绘图代码
力控科技
2024-08-19 广告
2024-08-19 广告
ForceSCADA是力控科技信创产品的重要组成部分,具备完全自主知识产权,支持部署在Linux桌面版、服务器版、嵌入式等系统架构下。使用ForceSCADA可以搭建创新性高、扩展性佳、融合度强的SCADA平台,进而构建高效、智能化的监控中...
点击进入详情页
本回答由力控科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询