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

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

Как узнать высоту строки в пикселях? [D5, Win95/98]


Olfi ©   (2002-03-02 15:16:00) 

Строки компонента TRichEdit, т. е. высота строки может менятся от размера, шрифта и т.д. Так вот размер нужен тот, который виден на экране. Как это сделать?


Ketmar   (2002-03-04 02:28:00) [1]

2Набережных С.
ну обговорился. первую фразу следует читать так: "на самом деле, использование функции API TextHeight напрямую, без некоторых ухищрений не даст желаемого эффекта." теперь Ваша душенька довольна?

04/Mar/XXXVII A.S.


Набережных С.   (2002-03-03 19:12:00) [2]


> Ketmar © (03.03.02 18:18)

Сначало
>на самом деле, TextHeight здесь не подойдет
Потом
>тогда уж делать TextHeight

Железная логика." IMHO."


Ketmar   (2002-03-03 18:18:00) [3]

на самом деле, TextHeight здесь не подойдет. и штатных средств нету, насколько Я помню. тут надо анализировать строку вручную, находить самый высокий шрифт, а тогда уж делать TextHeight. IMHO.

03/Mar/XXXVII A.S.


Anatoly Podgoretsky   (2002-03-03 16:53:00) [4]

Olfi © (03.03.02 14:10)
А может это ты неправильно пробовал


Набережных С.   (2002-03-03 15:44:00) [5]

И как ты, интересно, пробовал? Попробуй вот так:

var
C:TControlCanvas;
begin
C:=TControlCanvas.Create;
try
C.Control:=RichEdit1;
C.Font.Size:=RichEdit1.Font.Size;//или SelAttributes.Size
result:=C.TextHeight("W");
finally
C.free;
end;


Olfi   (2002-03-03 14:10:00) [6]

Так пробовал. Всё время равно 13, независимо от размера шрифта! Это не подходит...


Gayrus   (2002-03-02 16:01:00) [7]

Что-то вроде canvas.textHeight("text"):Integer;


Наверх

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