Возможно ли получить hwnd элемента управления

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Аватара пользователя
EducatedFool
Сообщения: 197
Зарегистрирован: 06 апр 2008, 14:03
Откуда: Россия, Урал
Контактная информация:

Уважаемые знатоки!
При портировании кода из 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?
Вложения
VB icq.zip
(10.93 КБ) 24 скачивания
Дмит
Сообщения: 145
Зарегистрирован: 27 ноя 2004, 22:23
Контактная информация:

К сожалению для "контролов VBA" hWnd не определишь никак. Если это важно используй др. нормальные контролы.
Ответить