Button com Caption de múltiplas linhas

 

A seguinte procedure configura os Captions de todos os Button de determinado Parent para permitirem múltiplas linhas.

 

procedure SetMultiLineButton(AParent: TWinControl);

var

  i: integer;

  ah: THandle;

begin

  for i := 0 to AParent.ControlCount - 1 do

  if (AParent.Controls[i] is TButton) then

  begin

    ah := (AParent.Controls[i] as TButton).Handle;

    SetWindowLong(ah, GWL_STYLE, GetWindowLong(ah, GWL_STYLE) OR BS_MULTILINE) ;

  end;

end;

 

No evento OnCreate do formulário, por exemplo, você pode usar o seguinte código:

 

SetMultiLineButton(Form1);

 

Esse código irá configurar os Captions dos botões do formulário. Caso haja botões em outros controles, esses não serão modificados.