Ver Mensaje Individual
  #7  
Antiguo 13-07-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 24
seoane Va por buen camino
En tu código esta usando la función ColorToStr, supongo que es la misma que he colocado en este mismo hilo, si no es así corrígeme. Como apreciaras la función intercambia los valores de rojo y azul para ajustarse al estándar, así que para volver a obtener el color original no puedes usar directamente IntToStrDef sino que debes usar la función StrToColor que vuelve a colocar el rojo y el azul en su sitio. Aprovecho para hacer unos retoques a la función:

Código Delphi [-]
function StrToColor(Color: string): TColor;
begin
  while length(Color) < 6 do
    Color:= '0' + Color;
  Color:= Copy(Color,5,2) + Copy(Color,3,2) + Copy(Color,1,2);
  Result:= StrToIntDef('$'+Color,0);
end;


Quedando el codigo de la siguiente manera:
Código Delphi [-]
  with TColorDialog.Create(self) do
  try
    if Execute then
    begin
      StrColor:= ColorToStr(Color);
      EdColormenu.Text:= StrColor;
      MiColor:= StrToColor(edColormenu.Text);
      Label1.Font.Color := MiColor;
    end;
  finally
    Free;
  end;
Responder Con Cita