Ver Mensaje Individual
  #8  
Antiguo 27-11-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Reputación: 10
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Siguiendo el ejemplo anterior y cambiando el codigo:

Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  Text1.Align := TAlignLayout.Top;
  Text1.Trimming := TTextTrimming.Word;
  Text1.VertTextAlign := TTextAlign.Leading;
  Text1.Text := 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore ' +
                'et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut ' +
                'aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse' +
                'cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, ' +
                'sunt in culpa qui officia deserunt mollit anim id est laborum.';
  Text1.Height := Text1.Canvas.TextHeight(Text1.Text);
end;

procedure TForm1.Text1Click(Sender: TObject);
begin
  if Text1.Align = TAlignLayout.Top then
    Text1.Align := TAlignLayout.Client
  else
  begin
    Text1.Align := TAlignLayout.Top;
    Text1.Height := Text1.Canvas.TextHeight(Text1.Text);
  end;
end;

Tendrias que ajustar el calculo del alto cuando el texto se contrae. Por ejemplo podrias pasarle al Canvas como parametro las 3 primeras lineas para que te devuelva el alto necesario para mostrar esas 3 lineas
Responder Con Cita