Chcę narysować granicę tematyczną TEdit w Paintbox. Kod musi działać w systemie Windows Vista i 7. Próbowałem wykonać następujące czynności. Działa tylko pod Windows XP.Rysowanie granicy tematycznej 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;
Pod systemem Windows XP wszystko jest w porządku. Ale pod Windows Vista i 7 granica jest pomalowana na ciemnoszaro. Wszystkie 4 strony w tym samym kolorze. Ale TEdit pod Vistą wygląda inaczej: Górna granica ma ciemnoszary kolor. Prawa krawędź jest średnio szara. Granice lewe i dolne mają jasnoszarą barwę. Mam nadzieję, że rozumiesz różnicę. Jak pomalować to we właściwy sposób? Dzięki!
Pod http://www.delphipraxis.net/153127-theme-rahmen-vom-tedit-zeichnen.html można znaleźć niemiecki wątek dotyczący tego problemu. Jednak bez rozwiązania. –