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

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

Полная высота 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.


Наверх

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