Programación General > Delphi
Ayuda Con Formulario
(1/1)
moyo18:
bueno se q esta raro esto pero pues es la primera vez q trabajo en delphi y aun no me hubico bien.
la cosa es esta
tengo dos cajas una en la cual al presionar un boton una se pondra del color q yo elija d un radiogroup y tambien tengo q chekiar con un checkbox en cual ira si en la 1 o la 2
y hacer un boton para poner blancas las dos cajas o paneles.
la cuestion es q se como poner los colores y lo d las checkobs pero no se como poner el codigo para el boton d aplicar el color me confundo en esa parte.
aki les dejo ell codigo q llevo
--- Código: Text ---unit assignment; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm2 = class(TForm) Label1: TLabel; Label2: TLabel; Panel1: TPanel; Panel2: TPanel; Button1: TButton; Button2: TButton; CheckBox1: TCheckBox; CheckBox2: TCheckBox; RadioGroup1: TRadioGroup; procedure Button1Click(Sender: TObject); procedure RadioGroup1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure CheckBox2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form2: TForm2; implementation {$R *.dfm} procedure TForm2.Button1Click(Sender: TObject);begin panel1.color := clwhite; panel2.color := clwhite; end;procedure TForm2.RadioGroup1Click(Sender: TObject);begin Case RadioGroup1.ItemIndex of 0 : RadioGroup1.Color := clorange; 1 : RadioGroup1.Color := clYellow; 2 : RadioGroup1.Color := clblue; 3 : RadioGroup1.Color := cl green; end; end; procedure TForm2.Button2Click(Sender: TObject);begin Case RadioGroup1.ItemIndex of 0 : RadioGroup1.Color := clorange; 1 : RadioGroup1.Color := clYellow; 2 : RadioGroup1.Color := clblue; 3 : RadioGroup1.Color := cl green; end; if checkbox1.Checked then panel1.color := RadioGroup1.ItemIndex; if checkbox2.Checked then panel2.color := RadioGroup1.ItemIndex; end; procedure TForm2.CheckBox1Click(Sender: TObject);begin if checkbox1.Checked then TForm2.Button2Click(Sender: TObject); end; procedure TForm2.CheckBox2Click(Sender: TObject);begin if checkbox2.Checked then TForm2.Button2Click(Sender: TObject); end; end.
por cierto no me deja el delphi probar a ver como va, alguien sabe porq sera?? me sale el RUN deshabilitado.
juanlaplata:
Bueno varias cosas para observar:
--- Código: Text --- procedure TForm2.RadioGroup1Click(Sender: TObject);begin Case RadioGroup1.ItemIndex of 0 : RadioGroup1.Color := clorange; 1 : RadioGroup1.Color := clYellow; 2 : RadioGroup1.Color := clblue; 3 : RadioGroup1.Color := cl green; end;end; Podrias guardarlo en una variable TColor. Para despues en el momento indicado hacer: Panel x .color := VarColor;
--- Código: Text --- public VarColor : TColor; procedure TForm2.RadioGroup1Click(Sender: TObject);begin Case RadioGroup1.ItemIndex of 0 : VarColor := clorange; 1 : VarColor := clYellow; 2 : VarColor := clblue; 3 : VarColor := cl green; end;end; En esta parte del codigo le cambias el color al radioGroup y segun tu enunciado no debe hacer eso.
--- Código: Text --- procedure TForm2.Button2Click(Sender: TObject);beginCase RadioGroup1.ItemIndex of 0 : RadioGroup1.Color := clorange; 1 : RadioGroup1.Color := clYellow; 2 : RadioGroup1.Color := clblue; 3 : RadioGroup1.Color := cl green;end; if checkbox1.Checked then panel1.color := RadioGroup1.ItemIndex; if checkbox2.Checked then panel2.color := RadioGroup1.ItemIndex;end; En este evento solo tendrias que asignar el color, pues el case es el mismo que se hace cuando se clikea la opcion del color.
entonces quedaria:
--- Código: Text --- procedure TForm2.Button2Click(Sender: TObject);begin if checkbox1.Checked then panel1.color := VarColor; if checkbox2.Checked then panel2.color := VarColor;end; VarColor sera asignada en en RadioGruopClick.
Espero haber entendido lo que dudabas, y si te sirve. si no lo volvemos a ver. Suerte.
moyo18:
hola intente hacerlo como lo dices pero me da un error aki
begin
Case RadioGroup1.ItemIndex of
0 : RadioGroup1.color := ClOrange;
1 : RadioGroup1.Color := clYellow;
2 : RadioGroup1.Color := clBlue;
3 : RadioGroup1.Color := clGreen;
end;
usando el varcolor o el radiogropu1. no se porq me da el error : :( , tambine tengo q hacer si los dos checkbox estan chekados q se ponga el color q esta elegido en los paneles.
pwero bueno porq me dara ese error, si yo miro q esta bien el codigo.
moyo18:
hola ya estuvo amigo muchas gracias, ya se ahora como hacerle, t agradesco por la ayuda.
el problema es q el CLORANGE no lo reconoce porq quizas no hay un color naranja o algo espcifico asi, bueno no se hasta ahroita buscare en google a ver q encuentro gracias.
Navegación
Ir a la versión completa