Я попробовал несколько вещей, которые все присутствуют в ответах на этот вопрос: Могу ли я сам сделать размер TMemo для текста, который он содержит? - Firemonkey
Верхний ответ с ContentBounds.Height
работает ... на Windows. Но это не работает на Android. Это всегда одно нажатие клавиши позади. Каждый раз, когда я нажимаю клавишу (будь то Enter или 'f' или 'a' и т. Д. c), высота подбирается по содержанию, которое было в памятке до нажатия этой клавиши.
Ответ Filipe.Fonseca прямо не работает, потому что TTextLayout
не скрывается в объектном присоединении линии. Не уверен, что мне здесь не хватает.
get_memo_height
: Это работает до такой степени, что это не одно нажатие клавиши позади. Но TTextLayout
использует другой размер шрифта:
Если я удалю настройку Size
из свойства StyledSettings
Заметки, тогда get_memo_height
даст правильную высоту. Когда я делаю это на моем телефоне, размер Font
(как в Memo1.Font.Size
, Memo1.Canvas.Font.Size
и Memo1.TextSettings.Font.Size
) отображается как 14.
Если я добавлю Size
обратно, * Размер 1033 * по-прежнему указывается как 14. Но Text
напечатан с размером примерно 16 или около того.
Кто-нибудь знает, откуда исходит это расхождение?
Есть ли способ получить действительный размер Font
, который используется для заметки, когда StyledSettings
активны?