出于某种原因,表单上的透明控件在某些计算机上变得不透明。我在“Acer Netbook”和“Thinkpad x600”上收到了有关它的报告。该应用程序是使用 Delphi 2007 构建的。
这是它的样子: 链接
虽然它应该看起来像这样: 链接
窗体上的不透明控件是 TLabels 和 TStaticTexts。
(我使用 TStaticText 控件来定义可点击区域,因为无句柄控件(如标签)的鼠标消息转到 WM_NCHITTEST 处理程序。底部的“按钮”是黑色的,因为我不小心将其颜色设置为 clNone,尽管它不应该完全可见。)
为什么会发生这种情况以及如何防止这种情况(除了将文本渲染到背景图像等变通方法)?
编辑:我设法在我的笔记本电脑上重现了这个问题,它运行的是 32 位颜色的 Windows XP,并使用经过认证的 ATI 驱动程序。