我想在一個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