![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Полная высота TLabel [D7]
Цукор5 © (2007-02-22 16:35:00)Есть некоторый контрол в нем расположен TLabel(причем Align=alClient). Как получить ПОЛНУЮ высоту TLabel'а, а не видимую ???
Т.е. Label1.Height дает только видимую часть высоты.
RASkov (2007-02-22 20:32:00) [1]> Есть TScrollBox. В нем TLabel(c Align=alClient).
TLabel брось на TScrollBox, поставь Align:=alTop; AutoSize=True и например Alignment:=taCenter
далее в цикле Label1.Caption:=Label1.Caption+'MySuperLine'+sLineBreak
> А далее мне нужно в TScrollBox установить скролбар, дабы
> весь текст читать
У ScrollBox'а AutoScroll=True и он сам выставит прокрутку.
Суслик (2007-02-22 19:27:00) [2]убери align = alClient и используй autosize = true.
все
Суслик (2007-02-22 19:26:00) [3]ладно, разбирайся сам - я тебе все сказал как можно сделать.
Цукор5 (2007-02-22 19:22:00) [4]>может тебе tscrollbox воспользоваться?
Вы внимательно читали [6] ???
Суслик (2007-02-22 17:44:00) [5]может тебе tscrollbox воспользоваться?
чем тебе tmemo не подходит?
Цукор5 (2007-02-22 17:02:00) [6]>RASkov (22.02.07 16:52) [4]
А если я не знаю кол-во строк. Что тогда ???
Более детально...
Есть TScrollBox. В нем TLabel(c Align=alClient). Далее я наполняю TLabel некоторым количеством строк.
А далее мне нужно в TScrollBox установить скролбар, дабы весь текст читать. Вот и нужно мне задать
ScrollBox1.VertScrollBar.Range:=полная высота TLabel
Суслик (2007-02-22 16:57:00) [7]ну это не факт - в общем случае ты не знаешь, как происходит прорисовка.
надежней [3]
RASkov (2007-02-22 16:52:00) [8]> [2] Цукор5 (22.02.07 16:45)
Более подробно можно, что нужно...
Если ты имеешь ввиду, тот факт, что строк получается много и некоторые уходят за граници видимой части Label и тебе необходимо знать суммарную их высоту, то так:
Nh:=Label1.Font.Height*<кол-во строк>;
Суслик (2007-02-22 16:48:00) [9]в общем я тебе сказал все уже
а! сделай как я тебе сказал, но поставть wordwrap = true
Цукор5 (2007-02-22 16:45:00) [10]>Наверно речь о том, что ты хочешь автоопределить высоту?
Не.
У меня что-то типа :
в цикле Label1.Caption:=Label1.Caption+'MySuperLine'+sLineBreak
Вот...и нужна полная высота.
Суслик (2007-02-22 16:39:00) [11]Что ты подразумевашье под полной?
Наверно речь о том, что ты хочешь автоопределить высоту?
Тогда ставь у label autosize = true, устанавливай текст, потому бери высоту.
ЗЫ Есно label не должен быть align = alClient.