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

[0] Índice de Mensajes

Ir a la versión completa