| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
daniel775 Profissional

Registrado: Quinta-Feira, 17 de Janeiro de 2013 Mensagens: 721 Localização: Amparo SP
|
Enviada: Qua Mai 27, 2015 1:40 pm Assunto: page control, como NÃO ordernar os tabsheets |
|
|
Boa tarde galera, tudo bem?
vejam se vocês podem me ajudar:
pretendo montar meu programa inteiro dentro de 1 form somente,
então queria trabalhar com pagecontrol.
Onde ao iniciar o programa eu deixaria todos os TabSheet invisivel,
e conforme o usuario for abrindo as paginas no menu eu faria com que abrisse uma a uma.
porém supondo que criei os TabSheet 1, 2 e 3.
se o usuario abrir o 3 primeiro, blz!
mas se ele abrir o 2 a aba irá aparecer antes do 3, e não depois!
será que existe uma maneira de abrir as abas na ORDEM QUE O USUARIO clicar?
Obrigado. _________________ "Água mole em pedra dura, tanto bate até q fura!", diz o filósofo...
"Essa !@#%& vai ter q funcionar", diz o programador. |
|
| Voltar ao Topo |
|
 |
rique_neves Mestre


Registrado: Sexta-Feira, 17 de Fevereiro de 2012 Mensagens: 873
|
Enviada: Qua Mai 27, 2015 5:16 pm Assunto: Re: page control, como NÃO ordernar os tabsheets |
|
|
não entendi muito bem!
Isso ficará gravado? tipo ele fechar aplicação, abrirá a ultima!
Neste exemplo vc pode selecionar com qual tab trabalhar.. si for gravar,basta gravar no arquivo ini o numero do tab e passar no ato de execução.
| Código: | var
iPage: Integer;
begin
PageControl1.ActivePageIndex := 0; // pagina inicial a ser iniada
//ocultando botoes no pagecontrol
for iPage := 0 to PageControl1.PageCount - 1 do
PageControl1.Pages[ipage].TabVisible :=false;
if ( PageControl1.PageCount > 0 ) then
PageControl1.ActivePage := PageControl1.Pages[0];
PageControl1.Style := tsButtons;
end;
|
| Código: | TabControl1.TabIndex := 0; // pagina inicial a ser iniada
for iPage :=0 to TabControl1.ControlCount -1 to
TabControl1.iPage[iPage].Visible := False;
if (TabControl1.ControlCount >0) then
TabControl1.ComponentIndex := TabControl1.Controls[0];
TabControl1.Style := tsButtons; |
Não testei, caso dê erro poste aí. _________________ Atrás de todo problema a uma oportunidade brilhantemente disfarçada!
Compartilhar Imagens .: http://s124.photobucket.com/ |
|
| Voltar ao Topo |
|
 |
joemil Moderador

Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9100 Localização: Sinop-MT
|
|
| Voltar ao Topo |
|
 |
daniel775 Profissional

Registrado: Quinta-Feira, 17 de Janeiro de 2013 Mensagens: 721 Localização: Amparo SP
|
Enviada: Qui Mai 28, 2015 8:48 am Assunto: |
|
|
Bom dia galera, obrigado pelo retorno.
entendi, bom a aplicação é pequena mas pode crescer né.
cara eu não entendi direito, até em criar um form blz. mas ai como eu vou desenvolver os conteudos dentro dele se eu criar em tempo de execução:
| Código: | var
aForm : TForm1;
tabSheet : TTabSheet;
begin
//Create a new tab sheet
tabSheet := TTabSheet.Create(PageControl1) ;
tabSheet.PageControl := PageControl1;
//create a form
aForm := TForm1.Create(tabSheet) ;
aForm.Parent := tabSheet;
aForm.Align := alClient;
aForm.BorderStyle := bsNone;
aForm.Visible := true;
tabSheet.Caption := aForm.Caption;
//activate the sheet
PageControl1.ActivePage := tabSheet;
end;
|
_________________ "Água mole em pedra dura, tanto bate até q fura!", diz o filósofo...
"Essa !@#%& vai ter q funcionar", diz o programador. |
|
| Voltar ao Topo |
|
 |
daniel775 Profissional

Registrado: Quinta-Feira, 17 de Janeiro de 2013 Mensagens: 721 Localização: Amparo SP
|
Enviada: Qui Mai 28, 2015 8:59 am Assunto: |
|
|
Po cara é só criar os forms depois chamar rsrsrs.
pode me ajudar em mais uma coisa?
como posso fazer um botão dentro de cada form PARA SAIR e sempre fechar o tabsheet atual? _________________ "Água mole em pedra dura, tanto bate até q fura!", diz o filósofo...
"Essa !@#%& vai ter q funcionar", diz o programador. |
|
| Voltar ao Topo |
|
 |
joemil Moderador

Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9100 Localização: Sinop-MT
|
Enviada: Qui Mai 28, 2015 10:49 am Assunto: |
|
|
vc testou a classe q te enviei? ela faz tudo sozinha
vc cria os formularios normalmente, mas nao deixa eles no autocreate
vc usa a funcao da classe q te passei q ela mesma se encarrega de criar o tabSheet, criar o formulario, colocar ele dentro do tabSheet e depois se encarrega de destruir tudo qdo fecha o tabSheet. _________________ <b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/ |
|
| Voltar ao Topo |
|
 |
johnny-walker Moderador


Registrado: Sábado, 4 de Outubro de 2003 Mensagens: 10653 Localização: Contagem/MG - BRAZIL
|
Enviada: Qui Mai 28, 2015 10:53 am Assunto: |
|
|
Além do mais, isto cria uma complexidade muito maior para o código, tornando o mesmo insuportável, além do que isto envolverá milhares e milhares de linhas de código.
Sistemas on demand são melhor soluçaõ, pois centralização de código somente cria dificuldades de programação, visto que se torna difícil a leitura do código e também a sua procura, além de ter de procurar o que faz parte de quê.
bye _________________ P.O.W.E.R B.Y D.E.L.P.H.I |
|
| Voltar ao Topo |
|
 |
daniel775 Profissional

Registrado: Quinta-Feira, 17 de Janeiro de 2013 Mensagens: 721 Localização: Amparo SP
|
Enviada: Qui Mai 28, 2015 11:07 am Assunto: |
|
|
puutz joemil, desculpe nao tinha reparado o link..
cara bem legal, principalmente esse de formularios abertos rsrs..
vou testar aqui e tentar desenvolver algo nele,
Obrigado por enquanto! _________________ "Água mole em pedra dura, tanto bate até q fura!", diz o filósofo...
"Essa !@#%& vai ter q funcionar", diz o programador. |
|
| Voltar ao Topo |
|
 |
|