-1

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

在此处输入图像描述

我发现了类似的问题:使文本框透明

那里的评论表明建议的解决方案不适用于 ClearType。但是我对建议的“AlphaBlendTextBox - .NET 的透明/半透明文本框”组件的测试显示不同。

无论如何,对于这样一个“简单的任务”,代码看起来相当复杂。他们确实将父控件图像保存到位图,并一遍又一遍地绘制该位图,并在其上放置文本。我希望必须有一个解决方案,将背景的绘制委托给父控件。

可能他们的解决方案是如此复杂,因为它也允许 alpha 混合。我不需要这样。我只想看到文本背后的父背景。有没有更简单/更智能的方法?

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

4

1 回答 1

1

根据 Spy++,它是一个典型的编辑控件,具有WS_EX_LEFT | WS_EX_LTRREADING | WS_EX_RIGHTSCROLLBAR | WS_EX_NOPARENTNOTIFY扩展样式和WS_CHILDWINDOW | WS_VISIBLE | ES_LEFT | ES_AUTOHSCROLL | ES_READONLY原始窗口样式。

我已经在 Win32 中对其进行了测试,我可以确认它可以满足您的要求。

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

在此处输入图像描述

于 2013-04-14T16:44:10.987 回答