Winapi 透明文本框

Winapi 透明文本框,winapi,textbox,transparency,Winapi,Textbox,Transparency,我想用一个透明的只读文本框来代替标签;允许用户选择+复制文本。Windows资源管理器在“文件属性”窗口上使用的确切内容: 我发现了类似的问题: 那里的评论表明建议的解决方案不适用于ClearType。但我对建议的“AlphaBlendTextBox-一个用于.NET的透明/半透明文本框”组件的测试表明情况并非如此 无论如何,对于这样一个“简单的任务”,代码看起来相当复杂。它们会将父控件图像保存到位图中,反复绘制位图,并在其顶部添加文本。我希望必须有一个解决方案,将背景图委托给父控件 他们的解

我想用一个透明的只读文本框来代替标签;允许用户选择+复制文本。Windows资源管理器在“文件属性”窗口上使用的确切内容:

我发现了类似的问题:

那里的评论表明建议的解决方案不适用于ClearType。但我对建议的“AlphaBlendTextBox-一个用于.NET的透明/半透明文本框”组件的测试表明情况并非如此

无论如何,对于这样一个“简单的任务”,代码看起来相当复杂。它们会将父控件图像保存到位图中,反复绘制位图,并在其顶部添加文本。我希望必须有一个解决方案,将背景图委托给父控件

他们的解决方案可能如此复杂,因为它也允许阿尔法混合。我不需要那个。我只想看到文本后面的父背景。有更简单/更聪明的方法吗


请注意,我对任何winapi解决方案(纯winapi、MFC、WinForms、Delphi等)都很满意。

根据Spy++,这是一个典型的编辑控件,扩展样式为
WS_EX_LEFT | WS_EX_LTRREADING | WS_EX_RIGHTSCROLLBAR | WS_EX_NOPARENTNOTIFY
,原始窗口样式为
WS_CHILDWINDOW | WS|u VISIBLE | ES| ES|u LEFT | ES| ES| ES| AUTOHSCROLL | ES| ES| ES| es124

我已经在Win32中对它进行了测试,我可以确认它做了您希望它做的事情

此外,下次您想要模拟其他控件的外观时,只需启动Spy++即可获得有关它们的详细信息


感谢您的回复。我们将测试它。实际上,我在询问之前用Spy++检查了控件。但是我没有发现关于这些样式的任何有趣的东西,所以我假设一定有一些wndproc被指定,从而使其透明。你知道这些风格中的哪一种有魔力吗?@MartinPrikryl排除
WS_EX_CLIENTEDGE
和包含
ES_READONLY
应该可以奏效。同样,您可以将其与典型的可编辑编辑控件进行比较,看看有什么不同:)