Quiero dibujar el borde temático de un TEdit en un Paintbox. El código debe ser funcional en Windows Vista y 7. He intentado lo siguiente. Funciona solo bajo Windows XP.Dibujar el borde temático de un 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;
En Windows XP, todo está correcto. Pero en Windows Vista y 7, el borde está pintado en gris oscuro. Los 4 lados del mismo color Pero un TEdit bajo Vista se ve diferente: el borde superior tiene un gris oscuro. El borde derecho es gris medio. Los bordes izquierdo e inferior tienen un gris claro. Espero que entiendas la diferencia. ¿Cómo pintarlo de la manera correcta? ¡Gracias!
En http://www.delphipraxis.net/153127-theme-rahmen-vom-tedit-zeichnen.html puede encontrar un hilo alemán sobre este tema. Sin embargo, no hay solución. –