Вниз
Скачать: 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.026 c
1-1106923850
akvilon
2005-01-28 17:50
2005.02.13
TCanvas и CS_OWNDC


1-1106828861
WhiteGuy
2005-01-27 15:27
2005.02.13
FreeDiskSpace?


3-1105802841
Mortal
2005-01-15 18:27
2005.02.13
Помогите с SQL запросом.


10-1083094910
Netrix
2004-04-27 23:41
2005.02.13
Передача строки по COM идёт слишком медленно!


14-1106399328
kaif
2005-01-22 16:08
2005.02.13
Долг




   Наверх