PDA

Ver la Versión Completa : Cambio en colores y problemas de resolución


pape19
09-02-2012, 13:34:59
Es bastante tonta la consulta, disculpen mis dotes de novato en Delphi.

Al pasar o instalar una aplicación hecha en Delphi 7 sobre Windows 7 64b, a un WinXP, noto que se me modifican todos los colores; por ejemplo, el color clActiveCaption, que en diseño utilice para los fondos de formularios, en XP ese color me aparece como un Azul Fuerte.

Y como segunda consulta...cual es la mejor arma para luchar contra los distintos tipos de resoluciones de pantalla?? de manera de que mi aplicación y sus componentes no queden desalineados. Tengo entendido que la utilización de paneles es una buena opción, agredecería un par de consejos.

De por si muchas gracias, saludos!

Neftali [Germán.Estévez]
09-02-2012, 14:40:46
Al pasar o instalar una aplicación hecha en Delphi 7 sobre Windows 7 64b, a un WinXP, noto que se me modifican todos los colores; por ejemplo, el color clActiveCaption, que en diseño utilice para los fondos de formularios, en XP ese color me aparece como un Azul Fuerte.

Y como segunda consulta...cual es la mejor arma para luchar contra los distintos tipos de resoluciones de pantalla?? de manera de que mi aplicación y sus componentes no queden desalineados. Tengo entendido que la utilización de paneles es una buena opción, agredecería un par de consejos.


Lo primero es normal; Justo utilizar clActiveCaption y no el color azul_fuerte, es para que en ejecución tu aplicación se ajuste a los colores definidos en el sistema (TEMA). En el caso de XP debe estar definido así.

Para lo segundo lo normal es utilizar paneles como dices y sobre todo utilizar la propiedad ANCHORS de los componentes. Para que al cambiar el tamaño de los formularios se mantengan proporcionales y en la ubicación correcta.

pape19
09-02-2012, 14:47:28
Lo primero es normal; Justo utilizar clActiveCaption y no el color azul_fuerte, es para que en ejecución tu aplicación se ajuste a los colores definidos en el sistema (TEMA). En el caso de XP debe estar definido así.

Gracias por la respuesta, pero como soluciono ese problema?? Que colores puedo utilizar de manera que no se modifiquen???

Neftali [Germán.Estévez]
09-02-2012, 14:49:18
Gracias por la respuesta, pero como soluciono ese problema?? Que colores puedo utilizar de manera que no se modifiquen???

S quieres que algo sea azul, utiliza el color azul, no uno de los predefinidos.

maeyanes
09-02-2012, 17:11:08
Hola...

Como bien dice Neftali, si quieres usar el color azul, usa clBlue en lugar de clActiveCaption. Ahora, si quieres usar el tono que usa Windows 7 para clActiveCaption, tienes que buscar cual es el valor RGB en hexadecimal de ese color y asignarlo de forma manual a la propiedad Color de los componentes deseados.

Solo ten en cuenta que en Delphi, los valores para los colores se manejan de forma inversa, o sea, sería Blue Green Red.

Algo así:


const
clCustomBlue = $D1B499;

// ...

procedure TMyForm.FormCreate(Sender: TObject);
begin
Label1.Color := clCustomBlue;
// ...
end;



Saludos...