c ++完全透明窗口,但仍然读取文本

时间:2009-12-28 16:40:38

标签: c++ windows transparency

我正在尝试对其窗口执行类似Rainmeter的操作,即使用窗口中的完全透明度,但我们仍然会读取每个窗口的文本。

任何人都可以解释我是如何做到的?我们如何在窗口中设置完全透明度并显示此窗口的某些部分(如文本或其他内容)。

我可以用区域做到这一点,但在我看来它不像Rainmeter那样,任何人都知道如何在c ++(WinXP及以上版本)中做到这一点?

由于

2 个答案:

答案 0 :(得分:2)

您需要使用layered windows

答案 1 :(得分:0)

回答你的评论:

要使窗口的一部分透明,请调用UpdateLayerdWindow函数并为其提供部分透明的背景图像。

您也可以传递ULW_COLORKEY而不是提供部分透明的背景图像,并且窗口中指定颜色的每个部分都将变为透明。 (大多数人使用洋红色)。但是,如果你这样做,你不能让窗口的一部分半透明。