Перейти к содержанию
Fire Monkey от А до Я
  • 0

ChangeTracking для динамического TMemo - не видит Memo1.ContentBounds.Height ?


Vitaly X

Вопрос

Никак не могу понять, чего тут не так (чего не хватает).

Если создаю компонент на лету - то первая кнопка некорректно выставляет высоту (вызов метода Memo1ChangeTracking(Memo1);). В этом же методе и создается коспонент.

Но если вызываю этот же код - Memo1ChangeTracking(Memo1); - из другого метода (клик по второй кнопке) - нормально.

Что за фигня? Не догоняю.

Если на форму кинуть компонент TMemo, то тоже работает.

 

 

 

unit Unit46;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Memo.Types,
  FMX.Controls.Presentation, FMX.ScrollBox, FMX.Memo, FMX.StdCtrls;

type
  TForm46 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Memo1ChangeTracking(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form46: TForm46;
  Memo1: TMemo;

implementation

{$R *.fmx}

procedure TForm46.Button1Click(Sender: TObject);
begin
  Memo1 := TMemo.Create(self);
  Memo1.Parent := Form46;
  Memo1.Name := 'Memo1';
  Memo1.DataDetectorTypes := [];
  Memo1.Lines.Clear;
  Memo1.Lines.Add('AAAAAAAAAAAAAA');
  Memo1.ShowScrollBars := False;
  Memo1.OnChangeTracking := Memo1ChangeTracking;
  Memo1.Align := TAlignLayout.Horizontal;
  Memo1.EnabledScroll := False;
  Memo1.TabOrder := 0;
  Memo1.WordWrap := True;

  Memo1ChangeTracking(Memo1);
end;

procedure TForm46.Memo1ChangeTracking(Sender: TObject);
begin
  Memo1.Height := Memo1.ContentBounds.Height + 5;
end;

procedure TForm46.Button2Click(Sender: TObject);
begin
  Memo1ChangeTracking(Memo1);
end;

end.

Ссылка на комментарий

Рекомендуемые сообщения

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...