Criação de Componentes: AutoSize não funciona

Delphi

30/11/2003

Criei um componente herdando de TCustomControl, coloquei a propriedade AutoSize (apenas property AutoSize;), mas quando coloco ela como true em tempo de projeto não acontece nada, e quando executo a aplicação o componente é redimencionado para o tamanho zero.

Como faço para a propriedade AutoSize funcione corretamente?


Raserafim

Raserafim

Curtidas 0

Respostas

Beppe

Beppe

30/11/2003

AutoSize por si só não pode determinar o tamanho do controle.

Você deve sobrepor o método protegido AdjustSize.

procedure TMyCustomControl.AdjustSize;
var
  L, T, W, H: Integer;
begin
  if not AutoSize then Exit;

  // calcule as dimensões e coloque nas locais L, T, W, H

  if not (csLoading in ComponentState) then 
    SetBounds(L, T, W, H);
end;



GOSTEI 0
POSTAR