acesso a uma aba especifica do pagecontrol
Pessoal, td bem?
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..
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
Curtidas 0
Melhor post
Natanael Ferreira
09/11/2017
Para setar a aba especifica você pode usar a propriedade ActivePage do PageControl.
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:
Na primeira linha do Onclick do botão do buscar profissão você coloca:
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;
GOSTEI 1
Mais Respostas
Deuzenildo Nascimento
09/11/2017
Olá amigo, fiz o teste como me falou, no botao no qual clica para fazer a pesquisa, inseri esse codigo, mas fica sublinhado em vermelho (erro) como mostrado no codigo a partir da palavra Activepage...:
consmais.ActivePage:= TabSheet1;
GOSTEI 0
Raimundo Pereira
09/11/2017
consmais.ActivePageindex:= 0;Para aba 1
consmais.ActivePageindex:= 1;Para aba 2
E assim por diante
consmais.ActivePageindex:= 1;Para aba 2
E assim por diante
GOSTEI 0
Deuzenildo Nascimento
09/11/2017
Ok. Mas ele ja mostra erro na linha bem embaixo da palavra Active, eu acho que tem que declarar alguma coisa na uses, pq ele diz que não reconhece .. Eu ainda to aprendendo .
Valeu..
Valeu..
GOSTEI 0
Natanael Ferreira
09/11/2017
"consMais" é o um componente PageControl? Se for está correto.
"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).
"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
Deuzenildo Nascimento
09/11/2017
Pessoal, veja, eu fiz dois modos sugeridos acima, nao deu erros, mas o botao nao tem ação. Desculpa, segue o codigo inteiro da unit onde estão os botoes.
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
Deuzenildo Nascimento
09/11/2017
Ninguem pediu, mas pra adiantar, segue o cod da outra unit onde estao as tabsheets..
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
Raimundo Pereira
09/11/2017
GOSTEI 0
Deuzenildo Nascimento
09/11/2017
Olá P2, fiz esse teste, deu certo em um novo projeto, apesar de ser um teste apenas, pra uso nao vejo muito sentido, se os botoes estão logo acima das abas das tabs, pode clicar nas tabs, mas de qqer forma, agradeço o interesse em ajudar.
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.
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
Raimundo Pereira
09/11/2017
Boa noite.
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;
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
Raimundo Pereira
09/11/2017
Outra coisa, renomeia a pagina e as abas, pois acredito que
pagecontrol = PG
Aba 1, cadastro de empresas = PG_EMPRESAS
E assim por diante
pagecontrol = PG
Aba 1, cadastro de empresas = PG_EMPRESAS
E assim por diante
GOSTEI 0