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
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo