Como trabalhar com o componente splitter ???

Delphi

09/02/2004

Gente, na boa, o Delphi tem muitas coisas boas, mas exemplos sem duvida não é seu forte. :x

Alguém pode encarecidamente me dizer como é que se faz para trabalhar com o componente Splitter da paleta Additional

Uso Delphi 6 (se fizer alguma diferença)


Mcunha98

Mcunha98

Curtidas 0

Melhor post

Aroldo Zanela

Aroldo Zanela

09/02/2004

Colega,

Solte um Panel e mande alinhar a esquerda, um Splitter e outro Panel com alinhamento Client. Basta executar, passar o mouse sobre o mesmo para ver o funcionamento.


GOSTEI 1

Mais Respostas

Mcunha98

Mcunha98

09/02/2004

Obrigado...
Funcionou perfeitamente !


GOSTEI 0
Wanderok

Wanderok

09/02/2004

[quote:b89f098687=´Aroldo Zanela´]Colega,

Solte um Panel e mande alinhar a esquerda, um Splitter e outro Panel com alinhamento Client. Basta executar, passar o mouse sobre o mesmo para ver o funcionamento.[/quote:b89f098687]

ok.
Panel1 - alinhado a esquerda.
Splitter1 - alinhado Cliente.
Panel2 - alinhado a esquerda.

Executo.
E .................. NADA ACONTECE !!!!!!!! :D:D:D


GOSTEI 0
Wanderok

Wanderok

09/02/2004

perdao....

panel1 -left
splitter1 - client
panel2 - client

run

passo o mouse sobre.....

NADICA DE NADA ACONTECE :D:D:D


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

09/02/2004

Colega,

splitter1 = Left


GOSTEI 0
Wanderok

Wanderok

09/02/2004

[quote:4bf2e31e5f=´Aroldo Zanela´]Colega,

Solte um Panel e mande alinhar a esquerda, um Splitter e outro Panel com alinhamento Client. Basta executar, passar o mouse sobre o mesmo para ver o funcionamento.[/quote:4bf2e31e5f]

Poxa Aroldo,

perdao.

eu entendi:

1) Solte um Panel e mande alinhar a esquerda,
2) um Splitter e outro Panel com alinhamento Client.
3) Basta executar, passar o mouse sobre o mesmo para ver o funcionamento.

Segundo a pontuação gramatical. Perdão.

Valeu !!! :D:D:D


GOSTEI 0
Tamiriss

Tamiriss

09/02/2004

Pessoal, os meus Panels estão alinhados conforme vocês passaram e o Splitter tb, porém eu preciso estabelecer um tamanho mínimo para cada panel.
Fui na propriedade MinWidth dos dois e coloquei um número.
Com o Panel da esquerda tudo Ok, mas o da direita o splitter não respeita o limite.
Ele está só arredando o Panel da Direita. Como assim arredando? Ele vai aumentando o tamanho do Panel da esquerda, não diminui o Panel da direita só o arreda e como o tamanho da tela é fixo ele vai se escondendo na tela...
Isso não pode ocorrer, ele tem que respeitar o limite do Panel da direita tb.

Se alguém souber me ajudar.
Att,
Tatá


GOSTEI 0
Mário Seixas

Mário Seixas

09/02/2004

Tamiriss, sei que este post é bem antigo. Possivelmente sua duvida já foi sanada, mas estava buscando a mesma solução que você e não tinha uma resposta.

Por este motivo estou colocando a solução para que futuras consultas a este post nao fiquem sem resposta.

Basta utilizar o evento onCanResize do componente Splitter como mostrado abaixo.

procedure TForm1.Splitter1CanResize(Sender: TObject; var NewSize: Integer; var Accept: Boolean);
begin
// o numero 100 limita o tamanho do painel a esquerda e o numero 600 está limitando o tamanho do painel a direita.
Accept := (NewSize >= 100) and ((ClientWidth - (NewSize + Splitter1.Width)) >= 600);
end;

solução encontrada no link:
http://www.delphipages.com/forum/showthread.php?t=8641
GOSTEI 0
POSTAR