Вниз
Скачать: CL | DM;

TMemo высота   Найти похожие ветки 

← →
Suvit ©   (2005-02-01 11:24) [0]

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


← →
Shirson ©   (2005-02-01 11:46) [1]

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

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

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


← →
Suvit ©   (2005-02-01 11:55) [2]

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


← →
Shirson ©   (2005-02-01 12:02) [3]

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


← →
Suvit ©   (2005-02-01 12:16) [4]

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


← →
Shirson ©   (2005-02-01 12:19) [5]

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


← →
Suvit ©   (2005-02-01 12:24) [6]

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


← →
Shirson ©   (2005-02-01 12:49) [7]

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


← →
Suvit ©   (2005-02-01 13:13) [8]

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


← →
MBo ©   (2005-02-01 13:24) [9]

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


← →
Suvit ©   (2005-02-01 13:31) [10]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.031 c
3-1105955005
alexe
2005-01-17 12:43
2005.02.13
Переход с Access`97 на 2000 на Delphi 5


14-1106595496
Fin
2005-01-24 22:38
2005.02.13
Резюме


4-1103203881
JR
2004-12-16 16:31
2005.02.13
Форма из сервиса


1-1106676112
tazik
2005-01-25 21:01
2005.02.13
Как обратиться к объекту, если еасть его имя.


1-1106592290
e-statik
2005-01-24 21:44
2005.02.13
а ПОДСКАЖИТЕ компонент сплиттер чтоб ресайзить окна как в 3DMAXe?




   Наверх