我想使用透明的只读文本框作为标签的替代品;允许用户选择+复制文本。正是Windows资源管理器在文件属性窗口中使用的内容:
我发现了类似的问题:Making a TextBox Transparent
评论表明提议的解决方案不适用于ClearType。但我测试了建议的" AlphaBlendTextBox - 用于.NET的透明/半透明文本框"组件另有说明。
无论如何,对于这样一个简单的任务而言,代码看起来相当复杂。它们确实将父控件图像保存到位图,一遍又一遍地使用其上的文本绘制该位图。我希望有一个解决方案将背景图画委托给父控件。
可能他们的解决方案很复杂,因为它也允许alpha混合。我不需要那个东西。我只想在文本后面看到父背景。有更简单/更聪明的方式吗?
请注意,我对任何winapi解决方案感到满意(纯winapi,MFC,WinForms,Delphi等)。
答案 0 :(得分: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 ++即可获得有关它们的详细信息。