Уважаемые знатоки!
При портировании кода из VB в VBA возникла проблема - требуется получить HWND элементов управления (CheckBox) на форме. Таков уж код, без этих hwnd ничего не получается.
Вопрос: вообще возможно их получить, и если да, то как? (поиск результатов не дал)
Скрытая функция Function _GethWnd() As Long элемента Control возвращает 0.
Как использовать API для получения hWnd формы, я знаю, но как применять функции FindWindow и FindWindowEx для получения hWnd дочерних объектов - не смог найти.
И, если всё таки возможно получить эти злосчастные hWnd, то должна ли форма с CheckBox-ами быть отображена на экране (методом Show), или достаточно её загрузить (методом Load)?
PS: Суть задачи - портировать код ICQ-клиента (см. вложение) в VBA (там используется самодельный контрол типа Visual Basic User Control, внутри которого и расположены эти самые CheckBox-ы). Из этого контрола я делаю класс, который можно будет подключить к проекту VBA.
Или может кто знает, как прикрутить этот Visual Basic User Control к файлу Excel?
Возможно ли получить hwnd элемента управления
Модератор: Naeel Maqsudov
- EducatedFool
- Сообщения: 197
- Зарегистрирован: 06 апр 2008, 14:03
- Откуда: Россия, Урал
- Контактная информация:
- Вложения
-
- VB icq.zip
- (10.93 КБ) 25 скачиваний
К сожалению для "контролов VBA" hWnd не определишь никак. Если это важно используй др. нормальные контролы.