在WinForm
具有扩展边框的情况下,当我在玻璃区域上放置文本时,它看起来不正确。
这是文本的样子Status
一只忙碌的猫 http://img833.imageshack.us/img833/4732/95454282.png ![form][1]
如何修复文本以正常显示?
在WinForm
具有扩展边框的情况下,当我在玻璃区域上放置文本时,它看起来不正确。
这是文本的样子Status
一只忙碌的猫 http://img833.imageshack.us/img833/4732/95454282.png ![form][1]
如何修复文本以正常显示?
Winforms 中的文本以 0 的 alpha 值呈现。当您在玻璃上绘图时,它会变得透明。所以你会看到背景颜色,而不是你选择的前景色。
在玻璃上绘制文本很麻烦,由于文本的背景没有很好地定义,因此您无法轻松正确地进行抗锯齿处理。请注意屏幕截图显示了 Windows 如何解决该问题,窗口标题中的文本具有乳白色背景,从而确保抗锯齿将字母正确混合到背景中。
这也是你需要做的。您可以使用 pinvoke 绘制文本,使用 DTT_GLOWSIZE 标志选项 DrawThemeTextEx()。访问 pinvoke.net 以获取所需的声明或使用此项目。并且不要忘记提供后备,这样这个窗口在旧 Windows 版本上仍然看起来不错。而较新的版本,玻璃不再适用于 Windows 8。