如何获得某个窗口的设备描述表句柄(VBA里面)

如何获得某个窗口的设备描述表句柄(VBA里面),第1张

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()的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9503892.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存