gpt4 book ai didi

c++ - 是什么导致 WS_TABSTOP 影响窗口绘制顺序?

转载 作者:可可西里 更新时间:2023-11-01 12:01:31 26 4
gpt4 key购买 nike

在WTL中,CBitmapButton不支持带有透明层的图片,比如PNG。所以我自定义代码使用GDI+绘制PNG,命名为CPNGButton。但是在 win XP 上情况很奇怪。当按钮与其他窗口重叠时,按钮先接收WM_PAINT,然后再接收父级,导致结果不正确。

enter image description here ---> enter image description here

我检查资源并从按钮的模板中删除 WS_TABSTOP 属性,一切正常,父窗口首先接收 WM_PAINT,然后是按钮。是什么导致 WS_TABSTOP 影响窗口绘制顺序?

最佳答案

这是不绘制背景时发生的情况。这会在窗口中留下一个“洞”,您会看到您后面的任何窗口的像素。或者桌面,如果没有这样的窗口。不确定这与 WS_TABSTOP 有什么关系。

使用 WS_EX_TRANSPARENT 样式标志。这告诉 Windows 您希望按钮的父级在客户端窗口中绘制自身以提供背景像素。

关于c++ - 是什么导致 WS_TABSTOP 影响窗口绘制顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9462797/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com