Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TMemo высота [D7, WinXP]


Suvit ©   (2005-02-01 11:24:00) 

Уважаемые мастера, есть у меня в TMemo текст, причем он весь не влазит в memo, появляется скролл, вопрос такой как изменить высоты этого memo, чтобы влезал весь текст? Вопрос актуальный и для TRichEdit, хотя думаю делается это одинакого.


Suvit   (2005-02-01 13:31:00) [1]

хм, да onResizeRequest, то что надо


MBo   (2005-02-01 13:24:00) [2]

Для решения этой задачи для RichEdit нужно внимательно вглядеться в его события в Object Inspector


Suvit   (2005-02-01 13:13:00) [3]

ок, спасибо :))
пойду сразу на msdn


Shirson   (2005-02-01 12:49:00) [4]

тогда рыться в исходниках ричедита и смотреть, как там реализован отлов общей высоты.


Suvit   (2005-02-01 12:24:00) [5]

PageRect используется только в TCustomRichEdit.print, причем как я понял надо самому задавать эти логические размеры, а мне надо определить общюю высоту


Shirson   (2005-02-01 12:19:00) [6]

Это размеры логической страницы в пикселях.


Suvit   (2005-02-01 12:16:00) [7]

я так понял это нужно для печати, как это связано с моей задачей?


Shirson   (2005-02-01 12:02:00) [8]

PageRect не устраивает?


Suvit   (2005-02-01 11:55:00) [9]

хм, это не пойдем для TRichEdit потому что у него меняются шрифты, тем более для TRxRichEdit где можно вставлять OLE объекты, может есть какое то window сообщение, которое возврашает настоящюю высоту, как то ведь вертикальный скролл определяет ее ( эту высоту) ???


Shirson   (2005-02-01 11:46:00) [10]

Если фонт такой же, как и у формы, то можно так:

var
h:integer;
k:integer;
begin
k:=6;
h:=Canvas.TextHeight('Hy');
memo1.height:=memo1.lines.count*h + k
end;

где значение k подбирается экспериментально и учитывает толщины юордеров, границ, бевелов и всего прочего. (можно запрограммить на подсчёт, но это излишне, IMHO)


Наверх

Титульная страница Поиск, карта сайта Написать письмо