首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

小技巧:使用Win32 API确定窗口是否被覆盖

确定窗口客户区是否被覆盖

如果你根据窗口的可见性来控制窗口的绘制,则之前的一篇文章中介绍的方法十分管用,因为你是借助于绘制系统本身里帮你干了这些脏活累活。

为了在绘制循环之外获取这一信息,可以使用GetDC和GetClipBox这两个API函数。从GetDC函数获取到的HDC已经是被剪切到可见区域之后的。然后,你可以借助于GetClipBox这个函数来从中获取窗口的状态信息。

下面是我们的例子代码,我们在它的基础上添加了一些代码,来演示上面的所说的理论。

在上面的代码中,每个一秒钟,窗口的标题栏会显示客户区的可见状态。轮询的方式相对于使用系统内置的实现方法来说会更加昂贵,因此,建议优先使用绘制系统方法。

关于第9章节

为什么第9章节这么晚才出来的原因是:它太长了。我已经将它划分到第9章节到第12章节,还有一个可选的第13章节,这样会让这些片段更加容易管理一点。第9章节已经完成了,但是我希望延迟发表它,直到我完成第12章节为止,因为后面的章节可能会让我需要重写第9章节。

总结

这是我对写作过程的一种自我中心的、相当枯燥的一种感受。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200315A0IF4I00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券