Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) [Ajuda] Centralizar form MDI filho no form MDI pai


maxley_gyn

Pergunta

Gostaria de saber como faço para centralizar os formulários mdi child no formulário mdi pai, já tentei posceerncenter e o código abaixo mas não consigo, abraços.

procedure TFormFilho.SetBounds(ALeft, ATop, AWidth, AHeight: Integer);
var
  Rect: TRect;
  OurWidth: Integer;
  OurHeight: Integer;
begin
  if Showing then begin


    // Obtem o retângulo da área cliente MDI
    Windows.GetWindowRect(Application.MainForm.ClientHandle, Rect);


    // Calcular largura e altura da área cliente
    OurWidth := Rect.Right - Rect.Left;
    OurHeight := Rect.Bottom - Rect.Top;


    // Calcula a nova posição
    ALeft := (OurWidth - Width) div 2;
    ATop := (OurHeight - Height) div 2;
  end;


  inherited SetBounds(ALeft, ATop, AWidth, AHeight);
end;

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Muito obrigado Jhonas, resolvi aqui com o código abaixo e position mainformcenter, valeu abraços.

type
  TFormFilho = class(TForm)
 public
     procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); override;
end;


procedure TFormFilho.SetBounds(ALeft, ATop, AWidth, AHeight: Integer);
var MainForm: TForm;
    Rect: TRect;
    OurWidth: Integer;
    OurHeight: Integer;
  begin
    if Showing then begin


    MainForm := Application.MainForm;


    // Obtem o retângulo da área cliente MDI
    Windows.GetWindowRect(MainForm.ClientHandle, Rect);


    // Calcular largura e altura da área cliente
    OurWidth := Rect.Right - Rect.Left;
    OurHeight := Rect.Bottom - Rect.Top;


    // Calcula a nova posição
    ALeft := (OurWidth - Width) div 2;
    ATop := (OurHeight - Height) div 2;
  end;


  inherited SetBounds(ALeft, ATop, AWidth, AHeight);
end;
Editado por maxley_gyn
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...