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

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

Как определить видимость ScrollBar а? [D3]


SuperVK ©   (2002-11-08 09:55:00) 

Как в MultiLine Editor контролах (и в частности в TRichEdit) определить, видим ли в текущий момент ScrollBar (горизонтальный и вертикатьный)?


SuperVK   (2002-11-11 12:16:00) [1]

Всё, спасибо.


Song   (2002-11-11 09:02:00) [2]

А чего сложного-то?
1.Через EM сообщение получите первую видимую строку. Высота будет равна высоте строк, убирающихся в клиентскую область компонента+межстрочный интервал.
2.Проверить наличие стилей SCROLL можно через GetWindowLong()


SuperVK   (2002-11-11 06:05:00) [3]

Эээээ...
Насколько я понял, WS_VSCROLL(HSCROLL) это то же самое, что и TCustomMemo.ScrollBars. И чего с ними делать ума не приложу.

А по поводу "подсчитать": я вроде бы видел в MSDN то ли какую-то константу, то ли свойство, выдающее количество строк, видимых в контролле, но сейчас, хоть убей не могу найти его. А если как-то по другому считать, то с TRichEdit это надо считать аж высоту текста. Нет путей попроще?


Song   (2002-11-08 09:58:00) [4]

WS_VSCROLL(HSCROLL)
А вообще, Вы определите для себя когда он [скролбар] появляется. И Вы сразу поймёте что-нужно сосчитать, чтобы определить есть скролбар или нет.


Наверх

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