Pregunta

¿Cuál es su forma preferida de mantener los controles centrados en su padre cuando el padre cambia el ancho o la altura?

¿Fue útil?

Solución

Si por 'centrado' quiere decir 'ya estaba en el medio y desea mantenerlo allí sin cambiar su tamaño', elimine todos los anclajes. Si se debe cambiar el tamaño, la solución de gabr es con :)

Otros consejos

Establezca la propiedad Anchors del control en [akLeft, akTop, akRight, akBottom].

Si quiere decir una especie de "actualización", espere ... " tipo de cosa, lo muevo manualmente en el evento OnResize del formulario. Esto me permite mantener un panel alejado durante el diseño y ocultarlo normalmente, pero puedo hacerlo visible cuando sea necesario.

procedure TMyForm.FormResize(Sender: TObject);
var
  nNewTop : Integer;
begin
  inherited;
  pnlRegenerating.Left := (ClientWidth - pnlRegenerating.Width) div 2;
  nNewTop := (ClientHeight div 5) {* 4};
  if (nNewTop + pnlRegenerating.Height) > ClientHeight then
    nNewTop := ClientHeight - pnlRegenerating.Height - 4;
  pnlRegenerating.Top := nNewTop;
end;
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top