
1、最常用的获取并释放设备描述表句柄的方法是,在处理WM_PAINT消息时,使用的BeginPaint和EndPaint调用:
hdc = BeginPaint(hwnd,&ps);
//other program lines
EndPaint(hwnd,&ps);
2、Windows程序还可以在处理非WM_PAINT消息时获取设备描述表句柄:
hdc = GetDC(hwnd);
//other program lines
ReleaseDC(hwnd,hdc);
3、Windows程序还可以获取适用于整个窗口(而不仅限于窗口的客户区)的设备描述句柄:
hdc = GetWindowDC(hwnd);
//other program lines
ReleaseDC(hwnd,hdc);
事实上是不一样的。
他们确实都有相同之处,如果函数使用成功他们都会返回特定的句柄。
先开一下两者的函数参数情况
返回值Long:GetDC(Byval Hwnd As Long)参数仅有一个,参数是某窗口的句柄。
返回值Long:GetWindow(Byval Hwnd As Long,Byval wCmd As Long)参数两个,参数一和GetDC一样是某窗口的句柄,但是本函数的重点在于参数二,参数二指定了返回窗口与参数窗口的命令关系(或特定的关系),如wCmd指定为GW_OWNER(即源窗口的所有者)则返回值为Hwnd所在父窗口的句柄(我这样解释不知道你是否理解)。因而,简单来说,GetWindow是根据第二个参数来获取所需窗口的句柄(Hwnd)。而GetDC更多的是为了“绘图”而获取必要的“设备场景(DC)”(重点)窗口的句柄(Hdc)。
所以两者还是有蛮大差距的。
我觉得对于一个程序员来说首先你要学会单步调试
还有对于指针 *** 作来说你要学会使用断言。
如果上述两个你做到了,我相信你任何问题都能解决的。。。
GetDC()是获取当前句柄的DC再MFC中师获取他的CDC的。然后使用这个DC *** 作图形界面。。
以上就是关于如何获得某个窗口的设备描述表句柄(VBA里面)全部的内容,包括:如何获得某个窗口的设备描述表句柄(VBA里面)、vb中 GetDC和GetWindow这两个API函数有什么区别、MFC关于GetDC()的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)