0

WinForm具有扩展边框的情况下,当我在玻璃区域上放置文本时,它看起来不正确。

这是文本的样子Status

一只忙碌的猫 http://img833.imageshack.us/img833/4732/95454282.png ![form][1]

如何修复文本以正常显示?

4

1 回答 1

1

Winforms 中的文本以 0 的 alpha 值呈现。当您在玻璃上绘图时,它会变得透明。所以你会看到背景颜色,而不是你选择的前景色。

在玻璃上绘制文本很麻烦,由于文本的背景没有很好地定义,因此您无法轻松正确地进行抗锯齿处理。请注意屏幕截图显示了 Windows 如何解决该问题,窗口标题中的文本具有乳白色背景,从而确保抗锯齿将字母正确混合到背景中。

这也是你需要做的。您可以使用 pinvoke 绘制文本,使用 DTT_GLOWSIZE 标志选项 DrawThemeTextEx()。访问 pinvoke.net 以获取所需的声明或使用此项目。并且不要忘记提供后备,这样这个窗口在旧 Windows 版本上仍然看起来不错。而较新的版本,玻璃不再适用于 Windows 8。

于 2013-05-27T14:07:15.940 回答