Fórum acesso a uma aba especifica do pagecontrol #588641
09/11/2017
0
Seguinte, não manjo muito de desenvolvimento, minha área é de infra, mas eu as vezes gosto de inventar alguma coisa, desenvolvi uma agenda telefônica com banco access, e em uma das consultas, eu usei esse PageControl com duas abas, ocorre que não sei como fazer, para que quando clicar no botão "buscar por empresa" e "buscar por profissão", ele possa ir direto a aba da qual se refere, no meu caso, ele abre uma aba, geralmente a que vi por ultimo, dai tenho de escolher a aba, eu queria que fosse direto na aba especifica, tem jeito? é possível.
desde já agradeço todas as dicas..
abraço..
Deuzenildo Nascimento
Curtir tópico
+ 0Post mais votado
09/11/2017
Supondo que o seu TabSheet de empresa chama-se TabSheet1 e o TabSheet de profissão é o TabSheet2.
Na primeira linha do Onclick do botão do buscar empresa você coloca:
PageControl1.ActivePage:= TabSheet1;
Na primeira linha do Onclick do botão do buscar profissão você coloca:
PageControl1.ActivePage:= TabSheet2;
Natanael Ferreira
Gostei + 1
Mais Posts
09/11/2017
Deuzenildo Nascimento
consmais.ActivePage:= TabSheet1;
Gostei + 0
10/11/2017
Raimundo Pereira
consmais.ActivePageindex:= 1;Para aba 2
E assim por diante
Gostei + 0
10/11/2017
Deuzenildo Nascimento
Valeu..
Gostei + 0
10/11/2017
Natanael Ferreira
"TabSheet1" eu coloquei como exemplo. Troque pelo nome do TabSheet que você quer mostrar.
Ou faça como o P2 citou, use ActivePageIndex para setar o índice da Tabsheet ativa.
Lembrando que o índice começa do 0 (zero).
Gostei + 0
10/11/2017
Deuzenildo Nascimento
unit consul;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls, Data.DB,
Vcl.Mask, Vcl.DBCtrls, Data.Win.ADODB, Vcl.Grids, Vcl.DBGrids, Vcl.Buttons;
type
Tpesquisa = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Label1: TLabel;
Edit1: TEdit;
DBNavigator1: TDBNavigator;
ADOTable1: TADOTable;
ADOTable1Nome: TWideStringField;
ADOTable1Endereco: TWideStringField;
ADOTable1Bairro: TWideStringField;
ADOTable1cidade: TWideStringField;
ADOTable1cep: TWideStringField;
ADOTable1estado: TWideStringField;
ADOTable1FoneResidencia: TWideStringField;
ADOTable1FoneComecrial: TWideStringField;
ADOTable1Empresa: TWideStringField;
ADOTable1Profissão: TWideStringField;
ADOTable1Celular1: TWideStringField;
ADOTable1Celular2: TWideStringField;
ADOTable1Email: TWideStringField;
Label2: TLabel;
DBEdit1: TDBEdit;
DataSource1: TDataSource;
Label3: TLabel;
DBEdit2: TDBEdit;
Label4: TLabel;
DBEdit3: TDBEdit;
Label5: TLabel;
DBEdit4: TDBEdit;
Label6: TLabel;
DBEdit5: TDBEdit;
Label7: TLabel;
DBEdit6: TDBEdit;
Label8: TLabel;
DBEdit7: TDBEdit;
Label9: TLabel;
DBEdit8: TDBEdit;
Label10: TLabel;
DBEdit9: TDBEdit;
Label11: TLabel;
DBEdit10: TDBEdit;
Label12: TLabel;
DBEdit11: TDBEdit;
Label13: TLabel;
DBEdit12: TDBEdit;
Label14: TLabel;
DBEdit13: TDBEdit;
DBGrid1: TDBGrid;
GroupBox1: TGroupBox;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Edit2Change(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
// procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
pesquisa: Tpesquisa;
implementation
{$R *.dfm}
uses cadastr, about, consulmais ;
procedure Tpesquisa.BitBtn1Click(Sender: TObject);
begin
consmais.pesqmais.ActivePage := consmais.TabSheet1; // nao da erro, mas o botao fica sem ação..
end;
procedure Tpesquisa.BitBtn2Click(Sender: TObject);
begin
//consmais.pesqmais.ActivePageIndex:= 1; // nao da erro, mas tambem o botao fica sem ação.
end;
procedure Tpesquisa.BitBtn3Click(Sender: TObject);
begin
cadast.show;
cadast.Edit1.SetFocus;
end;
procedure Tpesquisa.BitBtn4Click(Sender: TObject);
begin
close;
end;
procedure Tpesquisa.BitBtn5Click(Sender: TObject);
begin
sobre.show;
end;
procedure Tpesquisa.Button1Click(Sender: TObject);
begin
cadast.show;
cadast.Edit1.SetFocus;
end;
procedure Tpesquisa.Button2Click(Sender: TObject);
begin
close;
end;
procedure Tpesquisa.Button3Click(Sender: TObject);
begin
sobre.show;
end;
procedure Tpesquisa.Edit1Change(Sender: TObject);
begin
edit1.SetFocus;
adotable1.Locate('Nome', trim(edit1.Text), [lopartialkey]);
end;
procedure Tpesquisa.Edit2Change(Sender: TObject);
begin
adotable1.Locate('Empresa', trim(edit1.Text), [lopartialkey]);
end;
end.Gostei + 0
10/11/2017
Deuzenildo Nascimento
unit consulmais;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, Vcl.ExtCtrls, Vcl.StdCtrls,
Vcl.Grids, Vcl.DBGrids, Vcl.Buttons, Data.DB, Data.Win.ADODB;
type
Tconsmais = class(TForm)
pesqmais: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Panel1: TPanel;
Edit1: TEdit;
Panel2: TPanel;
Edit2: TEdit;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
ADOTable1: TADOTable;
ADOTable2: TADOTable;
DataSource1: TDataSource;
DataSource2: TDataSource;
ADOTable1Nome: TWideStringField;
ADOTable1Endereco: TWideStringField;
ADOTable1Bairro: TWideStringField;
ADOTable1cidade: TWideStringField;
ADOTable1cep: TWideStringField;
ADOTable1estado: TWideStringField;
ADOTable1FoneResidencia: TWideStringField;
ADOTable1FoneComecrial: TWideStringField;
ADOTable1Empresa: TWideStringField;
ADOTable1Profissão: TWideStringField;
ADOTable1Celular1: TWideStringField;
ADOTable1Celular2: TWideStringField;
ADOTable1Email: TWideStringField;
ADOTable2Nome: TWideStringField;
ADOTable2Endereco: TWideStringField;
ADOTable2Bairro: TWideStringField;
ADOTable2cidade: TWideStringField;
ADOTable2cep: TWideStringField;
ADOTable2estado: TWideStringField;
ADOTable2FoneResidencia: TWideStringField;
ADOTable2FoneComecrial: TWideStringField;
ADOTable2Empresa: TWideStringField;
ADOTable2Profissão: TWideStringField;
ADOTable2Celular1: TWideStringField;
ADOTable2Celular2: TWideStringField;
ADOTable2Email: TWideStringField;
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure Edit2Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
consmais: Tconsmais;
implementation
{$R *.dfm}
procedure Tconsmais.BitBtn1Click(Sender: TObject);
begin
close;
end;
procedure Tconsmais.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure Tconsmais.Edit1Change(Sender: TObject);
begin
//edit1.SetFocus;
adotable1.Locate('Empresa', trim(edit1.Text), [lopartialkey]);
end;
procedure Tconsmais.Edit2Change(Sender: TObject);
begin
//edit1.SetFocus;
adotable2.Locate('Profissão', trim(edit2.Text), [lopartialkey]);
end;
end.Gostei + 0
11/11/2017
Raimundo Pereira
Gostei + 0
11/11/2017
Deuzenildo Nascimento
Minha ideia é estando no form com name Principal, e clicar no botao empresa, ele abrir o outro form com name consmais na tabsheet1, e tabsheet2 se clicar no outro botao profissão. Tambem nao sei se isso funciona ou daria certo desse jeito q quero fazer.
Gostei + 0
12/11/2017
Raimundo Pereira
Crie uma varial global no seu form Principal.
Var Call_Page:integer;
No click do button você passa a page index
Exemplo empresas está localizado na primeira aba 1.
no click do button
Call_Page:=0;
Prossegue com abertura do form consmais
no oncreat do consmais
informo que pagcontrol.activepageindex:=Call_Pag;
Assim apenas set o valor da pageindex previamente nos buttons
Call_Page:=0;
Call_Page:=1;
Call_Page:=2;
Gostei + 0
12/11/2017
Raimundo Pereira
pagecontrol = PG
Aba 1, cadastro de empresas = PG_EMPRESAS
E assim por diante
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)