Ativar e Desativar Componentes: TabSheet - Delphi

Veja nesta dica como ativar e desativar componentes dentro de um TabSheet.

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

Artigos relacionados