Redimensionar componentes em tempo de execução.

2,736 views
Skip to first unread message

Fernando Vargas

unread,
May 4, 2012, 10:50:37 AM5/4/12
to dug...@googlegroups.com
Fala gurizada, tudo tranquilo.

Pessoal alguém tem alguma ideia de como redimensionar componentes em tempo de execução?

Por exemplo eu tenho um Panel no formulário, gostaria de redimensionar ele com o mouse em tempo de execução.

Alguém pode ajudar?

Abraço a todos.

Rafael Rasche

unread,
May 4, 2012, 11:00:20 AM5/4/12
to dug...@googlegroups.com

Se você quer alterar o tamanho de um panel com o mouse (para ajustar a janela), terá que usar o componente TSplitter.

 

Segue um exemplo de utilização:

Crie uma nova aplicação. Logo em seguida adicione ao Form um objeto TMemo (paleta Standard), um objeto TImage (paleta Additional). No TMemo altere a propriedade Align para alLeft, clique na propriedade Lines e apague a linha escrito "Memo1".

 

Altere a propriedade Align do TImage para alClient, e a propriedade Stretch para True. Dê um clique duplo no objeto TSplitter para adicioná-lo ao Form (note que o TSplitter aparecerá à esquerda do TMemo, para movê-lo, basta alterar a propriedade Align (do TSplitter, TImage e TMemo) para alNone (a propriedade Align do TSplitter vem com o valor default alLeft).

 

Pronto, agora execute a aplicação.

Abraços.

 

Rafael Rasche

--
Você recebeu esta mensagem porque está inscrito no "DUG-RS -
Delphi Users Group Rio Grande do Sul" em Grupos do Google.
Acesse o nosso BLOG em http://www.dug-rs.org e contribua com a comunidade Delphi do Rio Grande do Sul
Para postar neste grupo, envie um e-mail para dug...@googlegroups.com
Para cancelar a sua inscrição neste grupo, envie um e-mail para
dug-rs-un...@googlegroups.com
Para ver mais opções, visite este grupo em
http://groups.google.com.br/group/dug-rs?hl=pt-BR
 
Twitter: @dugrs
http://www.facebook.com/groups/dugrs/
http://www.Vimeo.com/dugrs

Fernando Vargas

unread,
May 4, 2012, 11:53:37 AM5/4/12
to dug...@googlegroups.com
Opa Rafael, valeu pela dica.

Mas não é exatamente isso que eu quero. Eu não quero que ele se ajuste no form.

Eu tenho um TPanel independente ele não esta ajustado para ficar conforme o form.

O que eu preciso é saber como eu redimensiono o TPanel, como se fosse redimensionar um form pelas bordas.

Felipe Dal Pizzol

unread,
May 4, 2012, 12:17:41 PM5/4/12
to dug...@googlegroups.com
pode tentar usar o flowpanel (ou algo assim no nome), e
tambem usar a dica desse link:

http://www.delphidabbler.com/tips/93


Fiz o teste com o seguinte codigo:


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;

type
  TMyNewPanel = class(TPanel)
  protected
    procedure CreateParams(var Params: TCreateParams); override;
  end;

  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private 
    pnl1: TMyNewPanel;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TMyNewPanel.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  Params.Style := Params.Style or WS_SIZEBOX;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  pnl1 :=  TMyNewPanel.Create(Self);
  pnl1.Parent := Self;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
 pnl1.Free;

end;

end.



Cordialmente,
Felipe Dornelles Dal'Pizzol

Rafael Rasche

unread,
May 4, 2012, 12:36:25 PM5/4/12
to dug...@googlegroups.com

Fernando

 

Eu não consegui testar, pois estou sem o delphi hoje.

Mas deve ser isso que você precisa:

 

- Abaixo segue um tutorial de como ajustar a altura e largura de um panel.

http://delphi.about.com/library/weekly/aa110105a.htm

 

Tem como baixar um exemplo do projeto também:

http://delphi.about.com/library/weekly/code/src110105.zip

 

Rafael Rasche.

Fernando Vargas

unread,
May 4, 2012, 1:27:18 PM5/4/12
to dug...@googlegroups.com
Opa Pessoal só para constar.

Já resolvi o meu problema, usei o tutorial que o Felipe mandou e criei um componente herdando do TPanel, quando coloco esse novo componente no form, ele me permite dimensionar o componente em tempo de execução.

Valeu a todos que ajudaram.....

Aquele abraço.

Felipe Dal Pizzol

unread,
May 4, 2012, 1:57:35 PM5/4/12
to dug...@googlegroups.com
Complementando:
http://www.delphidabbler.com/tips/92

Dal Pizzol.
Reply all
Reply to author
Forward
0 new messages