El control TCheckBox permite implementar un cuadro de selección (básicamente un botón de dos estados: seleccionado o no seleccionado)
La propiedad Checked almacena true si la opción está seleccionada y false en caso contrario.
Confeccionar un programa que muestre 3 objetos de la clase TCheckBox con etiquetas de tres idiomas. Cuando se presiona un botón mostrar en la barra de títulos del formulario todos los CheckBox seleccionados hasta el momento.
unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls; type TForm1 = class(TForm) CheckBox1: TCheckBox; CheckBox2: TCheckBox; CheckBox3: TCheckBox; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Caption := ''; if CheckBox1.Checked then Caption := Caption + '(Ingles)'; if CheckBox2.Checked then Caption := Caption + '(Frances)'; if CheckBox3.Checked then Caption := Caption + '(Aleman)'; end; end.
En el evento OnClick del botón primero borramos el contenido del título del formulario:
Caption := '';
Seguidamente mediante estructuras if verificamos el estado de cada CheckBox, en caso de estar seleccionado concatenamos al título del formulario el valor que representa ese CheckBox:
if CheckBox1.Checked then Caption := Caption + '(Ingles)'; if CheckBox2.Checked then Caption := Caption + '(Frances)'; if CheckBox3.Checked then Caption := Caption + '(Aleman)';
Disponer un control TLabel que muestre el siguiente mensaje: "¿Está de acuerdo con las normas del servicio?", luego un TCheckBox y finalmente un objeto de tipo TButton desactivo (propiedad Enabled con false). Cuando se tilde el CheckBox debemos activar el botón (para esto debemos responder al evento OnClick del objeto CheckBox)
unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls; type TForm1 = class(TForm) Label1: TLabel; CheckBox1: TCheckBox; Button1: TButton; procedure CheckBox1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.CheckBox1Click(Sender: TObject); begin if CheckBox1.Checked then Button1.Enabled := true else Button1.Enabled := false; end; end.
Cuando se presiona el CheckBox1 se ejecuta el método CheckBox1Click donde controlamos si el CheckBox1 está seleccionado o no:
procedure TForm1.CheckBox1Click(Sender: TObject); begin if CheckBox1.Checked then Button1.Enabled := true else Button1.Enabled := false; end;
Si se encuentra seleccionado activamosel Button1, en caso contrario lo desactivamos.
unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls; type TForm1 = class(TForm) CheckBox1: TCheckBox; CheckBox2: TCheckBox; CheckBox3: TCheckBox; CheckBox4: TCheckBox; CheckBox5: TCheckBox; Button1: TButton; Label1: TLabel; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var cantidad: Integer; begin cantidad := 0; if CheckBox1.Checked then cantidad := cantidad + 1; if CheckBox2.Checked then cantidad := cantidad + 1; if CheckBox3.Checked then cantidad := cantidad + 1; if CheckBox4.Checked then cantidad := cantidad + 1; if CheckBox5.Checked then cantidad := cantidad + 1; Label1.Caption := IntToStr(cantidad); end; end.