![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Расстояние между строками в Memo [D5, Win95/98, Win2k]
Simonaln © (2001-12-26 11:32:00)Как узнать величину расстояния между строками в Tmemo в пикселях?
MBo (2001-12-26 14:59:00) [1]можно еще попытаться через DrawTextEx с DT_CALCRECT, но принцип тот же.
В EM_ сообщениях я подходящего пока не увидел
MBo (2001-12-26 14:44:00) [2]Увы, не знаю ;(
но этот метод отлично работает
Simonaln (2001-12-26 14:29:00) [3]А какие другие?
MBo (2001-12-26 14:08:00) [4]Сanvas мемо недоступен, так что можно воспользоваться, например,
приемом из FAQ. Вот пример для BitBtn
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1009301147&n=0
Есть и другие способы
Simonaln (2001-12-26 13:46:00) [5]А как узнать длину строки текста в пикселях?
MBo (2001-12-26 12:59:00) [6]нет, высота строки больше(пропуск просто не учитывается). Какой пропуск - думаю, 3. Опытным путем - -11=14, -20=23, -6=9
хотя, казалось бы, должен зависеть от высоты шрифта
Simonaln (2001-12-26 12:43:00) [7]В моем случае Font.height=-11, т.е. без пропуска. Это значит что высота строки 11 пикселей и пропуска нет вообще?
MBo (2001-12-26 12:37:00) [8]это зависит от размера шрифта.
если Font.height положительное число, то оно как раз дает высоту шрифта плюс доп. пропуск (internal leading) - т.е. высоту строки. Если отрицательное (по умолчанию)- без internal leading. Таким образом, можно контролировать расстояние
Memo1.Font.Height:=16; // не все значения доступны для не-TTF шрифтов
Видимо, есть и низкоуровневые методы.