Fórum Centralizar Componente na tela!!! #397162
12/03/2011
0
Bom dia Pessoal...
Seguinte, tenho a necessidade de centralizar componentes na tela pelo seguinte motivo:
Varias telas tem componentes soltos na tela que fica com a propriedade visible false!
e estes componentes aparecem e determinas ocasioes, porem como eles ficam soltos na tela e por cima do resto dos componentes acabo jogando ele para um lado e outro quando vou dar manutenção na tela! E na hora de compilar não centralizo ele novamente!
oque eu preciso é o seguinte:
uma função onde eu passe o componente que quero que seja centralizado e a tela que ele deve olhar para se centralizar...
Utilizo Delphi 7...
PS: qualquer ajuda ou dica é bem vinda...
Seguinte, tenho a necessidade de centralizar componentes na tela pelo seguinte motivo:
Varias telas tem componentes soltos na tela que fica com a propriedade visible false!
e estes componentes aparecem e determinas ocasioes, porem como eles ficam soltos na tela e por cima do resto dos componentes acabo jogando ele para um lado e outro quando vou dar manutenção na tela! E na hora de compilar não centralizo ele novamente!
oque eu preciso é o seguinte:
uma função onde eu passe o componente que quero que seja centralizado e a tela que ele deve olhar para se centralizar...
Utilizo Delphi 7...
PS: qualquer ajuda ou dica é bem vinda...
Km Sistemas
Curtir tópico
+ 0
Responder
Post mais votado
12/03/2011
Eu faria uma procedure mais ou menos assim:
procedure TForm1.CentralizaTela(Componente: TComponent; Tela : TForm);
var
AlturaTela, LarguraTela, AlturaComp, LarguraComp : Integer;
begin
LarguraTela := Tela.Width;
AlturaTela := Tela.Height;
if Tela.Components[Componente.ComponentIndex] is TButton then
begin
LarguraComp := TButton(Tela.Components[Componente.ComponentIndex]).Width;
AlturaComp := TButton(Tela.Components[Componente.ComponentIndex]).Height;
TButton((Tela.Components[Componente.ComponentIndex]).Top := AlturaTela div 2 - ( AlturaComp div 2);
TButton(Tela.Components[Componente.ComponentIndex]).Left := LarguraTela div 2 - (LarguraComp div 2);
end;
end;
Note que você vai ter que ficar testando qualo tipo do componente para poder usar as propriedades Top e Left.
André Luis.
procedure TForm1.CentralizaTela(Componente: TComponent; Tela : TForm);
var
AlturaTela, LarguraTela, AlturaComp, LarguraComp : Integer;
begin
LarguraTela := Tela.Width;
AlturaTela := Tela.Height;
if Tela.Components[Componente.ComponentIndex] is TButton then
begin
LarguraComp := TButton(Tela.Components[Componente.ComponentIndex]).Width;
AlturaComp := TButton(Tela.Components[Componente.ComponentIndex]).Height;
TButton((Tela.Components[Componente.ComponentIndex]).Top := AlturaTela div 2 - ( AlturaComp div 2);
TButton(Tela.Components[Componente.ComponentIndex]).Left := LarguraTela div 2 - (LarguraComp div 2);
end;
end;
Note que você vai ter que ficar testando qualo tipo do componente para poder usar as propriedades Top e Left.
André Luis.
André Silveira
Responder
Gostei + 1
Mais Posts
12/03/2011
Km Sistemas
Tranquilo andré....
Muito obrigado pela ajuda...
Muito obrigado pela ajuda...
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)