我想在一个Paintbox中绘制一个TEdit的主题边框。该代码必须在Windows Vista和7下运行。我尝试了以下操作。它只能在Windows XP下运行。绘制一个TEdit的主题边框
var
Details: TThemedElementDetails; //uses Themes
begin
if ThemeServices.ThemesEnabled then
begin
Details := ThemeServices.GetElementDetails(teEditRoot);
ThemeServices.DrawElement(PaintBox1.Canvas.Handle, Details, PaintBox1.ClientRect);
end;
end;
在Windows XP下,一切正常。但在Windows Vista和7下,边框被涂成深灰色。所有4面都是同一种颜色。但Vista下的TEdit看起来不同:顶部边框有深灰色。右边框中灰色。左边框和底边框有浅灰色。我希望你明白不同之处。如何以正确的方式绘制它?谢谢!
根据http://www.delphipraxis.net/153127-theme-rahmen-vom-tedit-zeichnen.html你可以找到关于这个问题的德语线索。但是没有解决方案 – 2010-08-13 13:37:48