Olá galera, nesta Quick Tips, irei mostra como podemos habilitar ou desabilitar componentes dentro de uma TabSheet vejamos então como fazer este feito. Para isso vamos adicionar :
2 TButton(BtnAtivar, BtnDesativar)
1 TPageControl
1 TTabSheet ( dentro do PageControl vamos incluir um TabSheet)
1 TEdit
1 TCombobox
1 TMemo
1 TMaskEdit
unit uFrmPrincipal;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, Mask, Buttons, ExtCtrls;
type
TFrmPrincipal = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
Edit1: TEdit;
ComboBox1: TComboBox;
Memo1: TMemo;
MaskEdit1: TMaskEdit;
Panel1: TPanel;
BtnAtivar: TBitBtn;
BtnDesativar: TBitBtn;
procedure BtnAtivarClick(Sender: TObject);
procedure BtnDesativarClick(Sender: TObject);
private
procedure HabFieldsTabSheet(xTabSheet: TTabSheet; Hab: Boolean);
{ Private declarations }
public
{ Public declarations }
end;
var
FrmPrincipal: TFrmPrincipal;
implementation
{$R *.dfm}
{ Vejamos a procedure para Habilitar os componentes que estão dentro de um determinado TabSheet, para isso precisamos informar qual é o TabSheet e se vamos ou não habilitar os controles }
procedure TFrmPrincipal.HabFieldsTabSheet(xTabSheet: TTabSheet; Hab: Boolean);
var
x: integer;
begin
for x := 0 to xTabSheet.ControlCount - 1 do
if (xTabSheet.Controls[x] is TEdit) or
(xTabSheet.Controls[x] is TComboBox) or
(xTabSheet.Controls[x] is TMemo) or
(xTabSheet.Controls[x] is TMaskEdit) then
xTabSheet.Controls[x].Enabled := Hab;
end;
end.
{ Vemos aqui a implementação do BtnAtivar, no qual irá habilitar os componentes dentro do TabSheet, e logo em seguida irá desativar ele mesmo e ativar o BtnDesativar }
procedure TFrmPrincipal.BtnAtivarClick(Sender: TObject);
begin
HabFieldsTabSheet(TabSheet1,True);
BtnAtivar.Enabled := BtnDesativar.Enabled;
BtnDesativar.Enabled := Not BtnAtivar.Enabled;
end;
{ Vemos aqui a implementação do BtnDesativar, no qual irá desabilitar os componentes dentro do TabSheet, e logo em seguida irá desativar ele mesmo e ativar o BtnAtivar }
procedure TFrmPrincipal.BtnDesativarClick(Sender: TObject);
begin
HabFieldsTabSheet(TabSheet1,False);
BtnAtivar.Enabled := BtnDesativar.Enabled;
BtnDesativar.Enabled := Not BtnAtivar.Enabled;
end;
Fico
por aqui ate à próxima Quick Tips.
Um
abraço
Wesley Y
wyamazack@rwsolution.com.br