Я хочу нарисовать тематическую рамку TEdit в Paintbox. Код должен функционировать под 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 стороны одного цвета. Но TEdit под Vista выглядит по-другому: верхняя граница имеет темно-серый цвет. Правая граница средняя серая. Левая и нижняя границы имеют светло-серый цвет. Надеюсь, вы понимаете разницу. Как правильно нарисовать его? Благодаря!
Под http://www.delphipraxis.net/153127-theme-rahmen-vom-tedit-zeichnen.html вы можете найти немецкую тему по этому вопросу. Однако никакого решения нет. –