![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Определение компонентов на окнах
Diamond Cat © (2002-06-04 02:00:00)Каким манером можно определить что окно имеет Scrollbar, вроде как в некоторых окнах это не отдельный компонент (т.е. он не определяется как дочерний, и вообще не отличается ни по хендлу ни по чему-либо еще), а в некоторых это действительно контрол имеющий и имя класса и свой хендл, хотелось бы знать как определить что полоса прокрутки существует не зависимо от того , что это за окно.
MBo (2002-06-04 09:14:00) [1]>Song
это работает для "scrollbar", появляющегося, например, на форме при сокращении ее размеров (пока не появился - не возвращает ;))
Song (2002-06-04 09:09:00) [2]GetScrollInfo()
GetScrollPos()
MBo, GetWindowLong() вернёт WS_VSCROLL даже если последний неактивный.
MBo (2002-06-04 07:23:00) [3]Как я понял, это не подходит
if (GetWindowlong(Handle, GWL_STYLE) and WS_VSCROLL) <> 0 then
ShowMessage("Vertical scrollbar is visible!");
тогда что-нибудь такое (это работает для положенного на форму VCL-TScrollbar, а в общем случае наверное, надо findwindowex, enumwindows, enumchildwindows, и смотреть название класса найденных окон на вхождение "scrollbar")
if findwindowex(handle,0,pchar("TSCROLLBAR"),nil)<>0 then
ShowMessage("True TScrollBar has been found!");