Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Cambiar el Color de un Formulario en Runtime (https://www.clubdelphi.com/foros/showthread.php?t=87374)

tulio 22-12-2014 12:40:15

Cambiar el Color de un Formulario en Runtime
 
Hola Compañeros

Les cuento que en un boton quiero cambiar el color del formulario, hacer una pausa y cambiar nuevamente el color , pero no ejecuta la orden en la cual lo quiero poner verde, solo hace la pausa y luego lo pone en negro. Me faltara alguna propiedad en el formulario ?

Código Delphi [-]
procedure TF_portero.BitBtn1Click(Sender: TObject);
 begin
  F_POrtero.Color:=CLGREEN;

  sleep(1000);

  F_POrtero.Color:=clBlack;

end;

Saludos tulio

FELICIDADES !!!!!!

Casimiro Notevi 22-12-2014 13:24:52

Felicidades :)

pero, por favor, no olvides poner títulos descriptivos a tus preguntas, gracias: "Algo sencillo pero no me anda " :p

pacopenin 22-12-2014 13:49:24

Cita:

Empezado por tulio (Mensaje 486963)

F_POrtero.Color:=CLGREEN;
sleep(1000);

Application.ProcessMessages;

F_POrtero.Color:=clBlack;

Prueba esto.

Felices Fiestas,

tulio 22-12-2014 13:55:50

Gracias Amigo !!!!!!

anduvo con la opcion Application.ProcessMessages;

Vieron que era sencillo Ja Ja Ja

Felicidades !!!!

Ñuño Martínez 22-12-2014 13:59:06

No estoy seguro, pero es posible que ProcessMessages deba ir antes del sleep. O sea:
Código Delphi [-]
  F_POrtero.Color:=CLGREEN;
  Application.ProcessMessages;
  sleep(1000);
  F_POrtero.Color:=clBlack;
  Application.ProcessMessages;
Aunque ya digo que no estoy seguro al 100%.

[edito]
Ala, me pilló el toro. Y encima eso, que no hacía falta. Ains...

nlsgarcia 22-12-2014 14:05:35

tulio,

Cita:

Empezado por tulio
...en un botón quiero cambiar el color del formulario, hacer una pausa y cambiar nuevamente el color...

:rolleyes:

Revisa este código:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
   Form1.Color := clYellow;
   Form1.Repaint;
   Sleep(1000);
   Form1.Color := clNavy;
   Form1.Repaint;
   Sleep(1000);
   Form1.Color := clRed;
   Form1.Repaint;
   Sleep(1000);
   Form1.Color := clGreen;
   Form1.Repaint;
   Sleep(1000);
   Form1.Color := clWindow;
   Form1.Repaint;
end;
El código anterior en Delphi 7 sobre Windows 7 Professional, cambia el color del formulario en runtime, como se muestra en la siguiente imagen:



Te sugiero revisar el Punto # 3 de la Guía de Estilo Estándar.

Gracias por tu colaboración :) ^\||/

Nelson.


La franja horaria es GMT +2. Ahora son las 06:43:49.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi