Fórum Posição da imagem #347623

20/10/2007

0

Saudações!!!

Na tela principal da minha aplicação, coloquei um panel no centro, e dentro deste o logotipo da empresa. Alterei o estilo da borda do panel para dar um efeito interessante ao logo. Quando executo o sistema, gostaria que ficasse sempre centralizado, não importando o tamanho da tela (se está maximizada ou restaurada). Existe uma forma prática de se fazer isso??

No aguardo.

Abraços,

Rogério


Roger1976

Roger1976

Responder

Posts

20/10/2007

Marco Salles

programando o evento OnResize do Form não da não ?????


Responder

Gostei + 0

21/10/2007

Alexandrej

Existe uma forma prática de se fazer isso??


No evento onResize...

Panel.Left := Round((Self.Width / 2) - (Panel.Width / 2))
Panel.Top := Round((Self.Height....

Mais ou menos assim, fiz de cabeça, pode estar errado...

Porque vc não coloca esse ´efeito´ salvo na imagem e usa um TImage com a propriedade Center = True e o alinhamento = alClient?


Responder

Gostei + 0

21/10/2007

Roger1976

Amigos, muito obrigado pelas dicas. Na propriedade do panel que contém a imagem, eu alterei as opções da propriedade anchors para false. Assim, quando redimensiono a tela, a imagem fica sempre no meio. Acho que ficaria melhor se o tamanho do panel com a imagem redimensionasse automaticamente ao alterar o tamanho da tela. Como sugerido por vocês, deve-se programar no evento onresize do form principal, mas eu ainda não sei como fazê-lo. Fiz o teste sugerido pelo Alexandre, pensei até que pelo código pudesse redimensionar automaticamente, mas não deu certo.

Valeu galera!!!


Responder

Gostei + 0

21/10/2007

Marco Salles

Acho que ficaria melhor se o tamanho do panel com a imagem redimensionasse automaticamente ao alterar o tamanho da tela.


bom ,

private { Private declarations } procedure wmuser(var msg:tmessage);message wm_user;


{
$R *.dfm}
var
 kWP,KHP,KWI,KHI:real;
procedure TForm1.FormCreate(Sender: TObject);
begin
KHP:=form1.Height/panel1.Height;
KWP:=form1.Width/panel1.Width;
KHI:=panel1.Width/image1.Width;
KWI:=panel1.Width/image1.Width;

end;


procedure TForm1.FormResize(Sender: TObject);
begin
  postmessage(handle,wm_user,0,0);
end;


procedure TForm1.wmuser(var msg: tmessage);
begin
  panel1.Height:=trunc(form1.Height/KHP);
  panel1.Width:=trunc(form1.Width/KHP);
  image1.Height:=trunc(panel1.Height/KHI);
  image1.Width:=trunc(panel1.Width/KWI);
  panel1.Left:=(form1.Width - panel1.Width)div 2;
  image1.Left:=(panel1.Width - image1.Width) div 2;
end;



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar