|
Вопрос # 57/ вопрос открыт / |
|
Здравствуйте уважаемые эксперты!
Как известно, есть 2 типа окон с полосами прокрутки.
1) Когда при создании окна были указаны стили WS_HSCROLL и/или WS_VSCROLL (как в Блокноте).
2) Когда окно было создано без вышеуказанных стилей, но к нему "прикручены" отдельные скроллы (напр. MS Word). В этом случае окно, горизонтальный и вертикальный ScrollBar имеют каждый свой хендл.
Вопросы касаются второго случая:
1) Как определить хендлы горизонтального и вертикального скролла, если известен хендл связанного с ними окна?
2) Как определить хендл окна, если известен хендл связанного с этим окном горизонтального или вертикального скролла?
Заранее спасибо за любую оказанную помощь!
 |
Вопрос задал: Yurchik (статус: 3-ий класс)
Вопрос отправлен: 22 июня 2006, 15:45
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Вадим К
Прямого способа скорее всего нет. Но можно сделать хитрей.
Вначале в цикле перебираем дочерние компоненты. Если вы рассматриваете чужое приложение, то с помощью API функций, если свою - то можно с помощью свойства Controls.
Каждый найденый элемент проверяем на то, скролл это или нет. Так как может быть, что в программе несколько скроллов, то необходимо также проверять их координаты и сравнивать с координатами окна.
Если вы не знаете, как сделать, какоее-то с перечисленых действий, почитайте это
www.DelphiWorld.narod.ru\base\chg_first_edit_text.html
www.DelphiWorld.narod.ru\base\other_windows.html
www.DelphiWorld.narod.ru\base\other_windows2.html
 |
Ответ отправил: Вадим К (статус: Академик)
Время отправки: 23 июня 2006, 11:00
|
Мини-форум вопроса
Мини-форум пуст.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|