gpt4 book ai didi

windows - 如何创建带有非透明子控件(或子窗口)的透明窗口?

转载 作者:可可西里 更新时间:2023-11-01 09:57:10 24 4
gpt4 key购买 nike

首先,我正在使用 C++ 开发 Win32。

我一直在尝试实现一个带有子窗口的透明窗口,该窗口应保持 100% 不透明。似乎子控件的不透明度不能比父控件更好(更低),如果我让我的父控件 100% 透明,那么我的子控件也会继承透明度。

我使用的代码 -

SetLayeredWindowAttributes(GetParent(parentWindowHwnd), 0, 0, LWA_COLORKEY, LWA_ALPHA); 

有什么帮助吗?

如果我的问题不是很清楚,也请回复。

最佳答案

不幸的是,您不能这样做,子窗口始终具有与其父窗口相同的不透明度。 Google 桌面工具栏有一个巧妙的技巧,可以在半透明背景上产生不透明文本框的错觉。他们创建了两个顶级窗口,一个用于背景,一个用于文本框。然后他们将背景窗口设置为文本框的所有者(不是父级)。然后他们将背景设置为透明。要做到正确需要大量工作,但这是无需使用 UpdateLayeredWindow 自行渲染整个内容的唯一方法。

关于windows - 如何创建带有非透明子控件(或子窗口)的透明窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/785332/

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