Fórum Como centralizar um Formulário(Form2) dentro de um Painel(Panel3) no Delphi? #441119

26/04/2013

0

Caros colegas, boa tarde.

Eu pretendo exibir um formulário(Form2) no centro de um Painel(Panel3).
Eu estou usando o Delphi 5.
No link abaixo se tem a ideia do que pretendo:

http://img837.imageshack.us/img837/3459/imagemtimecard.jpg

Tudo que está na cor preto é o painel e o que está no centro é o formulário.

Isso que pretendo é possível?
Renildo Antonio

Renildo Antonio

Responder

Posts

26/04/2013

Joel Rodrigues

Já sabe como inserir o form no painel? A dificuldade está só no posicionamento?
Responder

Gostei + 0

26/04/2013

Joel Rodrigues

Se for, defina o Left do form como a metade da diferença entre as larguras do painel e do form. O mesmo com o Top, só que com a altura:
form.Left := Round((panel.Width - form.Width)/2);
form.Top := Round((panel.Height - form.Height)/2);
Responder

Gostei + 0

26/04/2013

Renildo Antonio

Garoto,

Respondendo suas perguntas.

- Já sabe como inserir o form no painel? Sim.
- A dificuldade está só no posicionamento? Sim. Era bem aqui mesmo.

Sua dica foi ótima. Fiz assim e deu certo. Veja:

procedure TForm1.FuncionariosClick(Sender: TObject);
begin
Form2 := TForm2.Create(nil);
Form2.BorderStyle := bsNone;
Form2.Parent := Panel3;
Form2.Show;
form2.Left := Round((panel3.Width - form2.Width)/2);
form2.Top := Round((panel3.Height - form2.Height)/2);

end;

Mais uma vez muito obrigado.
Responder

Gostei + 0

26/04/2013

Joel Rodrigues

Show de bola, Renildo. Que bom que deu certo.
Então, neste caso, vou marcar o tópico como Concluído para que outras pessoas possam consulta-lo futuramente.
Abraço.
Responder

Gostei + 0

07/07/2013

Marco Arend

Show de bola, Renildo. Que bom que deu certo.
Então, neste caso, vou marcar o tópico como Concluído para que outras pessoas possam consulta-lo futuramente.
Abraço.


opção generica;

function TUnMyObjects.FormTDIPanel(InstanceClass: TComponentClass;
var Reference; Painel: TPanel): Boolean;
var
Instance: TComponent;
Form: String;
MyCursor: TCursor;
Campo: String;
begin
Result := False;
Form := InstanceClass.ClassName;
MyCursor := Screen.Cursor;
Screen.Cursor := crHourGlass;
try
Instance := TComponent(InstanceClass.NewInstance);
TComponent(Reference) := Instance;
try
Instance.Create(nil);
//
Result := True;
except
TComponent(Reference) := nil;
raise;
end;
with TForm(Reference) do
begin
{
Campo := 'Edit1';
if (FindComponent(Campo) as TEdit) <> nil then
TEdit(FindComponent(Campo) as TEdit).Text := 'Jurubeba';
}
TForm(Reference).BorderStyle := bsNone;
TForm(Reference).Parent := Painel;
TForm(Reference).Show;
TForm(Reference).Align := alClient;
end;
Screen.Cursor := MyCursor;
finally
Screen.Cursor := MyCursor;
end;
end;

Como usar:

FormTDIPanel(TForm2, Form2, Panel3);
Responder

Gostei + 0

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

Aceitar