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.