Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Олег
Зарегистрирован: 26.04.2006 Сообщения: 7 Откуда: Москва
|
Добавлено: Ср Апр 26, 2006 10:58 am Заголовок сообщения: Получение handle окна |
|
|
Извините, если вопрос идиотский, но как мне в microstation узнать handle окна какой-нибудь UserForm. А то UserForm.hwnd не работает. |
|
Вернуться к началу |
|
|
Leonid давно здесь сидим
Зарегистрирован: 28.01.2006 Сообщения: 598 Откуда: С.-Петербург
|
Добавлено: Ср Апр 26, 2006 11:33 am Заголовок сообщения: |
|
|
Да, они почему-то убрали HWND из свойств...
Иначе как функцией FindWindow здесь, имхо, не обойтись
Код: |
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowsName As String) As Long
|
|
|
Вернуться к началу |
|
|
Олег
Зарегистрирован: 26.04.2006 Сообщения: 7 Откуда: Москва
|
Добавлено: Ср Апр 26, 2006 12:27 pm Заголовок сообщения: |
|
|
А как задать lpWindowsName. |
|
Вернуться к началу |
|
|
Leonid давно здесь сидим
Зарегистрирован: 28.01.2006 Сообщения: 598 Откуда: С.-Петербург
|
Добавлено: Ср Апр 26, 2006 12:38 pm Заголовок сообщения: |
|
|
Олег писал(а): | А как задать lpWindowsName. |
Что-то типа того...
Код: |
Dim hwnd As Long
hwnd = FindWindow("ThunderDFrame", UserForm.Caption)
|
|
|
Вернуться к началу |
|
|
kav
Зарегистрирован: 13.02.2006 Сообщения: 14
|
Добавлено: Ср Апр 26, 2006 1:56 pm Заголовок сообщения: |
|
|
Есть еще такая MDL функция:
HWND mdlNativeWindow_getWindowHandle ( MSWindow* windowP );
(Gets the HWND associated with a given MicroStation's window ) |
|
Вернуться к началу |
|
|
Leonid давно здесь сидим
Зарегистрирован: 28.01.2006 Сообщения: 598 Откуда: С.-Петербург
|
Добавлено: Ср Апр 26, 2006 2:10 pm Заголовок сообщения: |
|
|
kav писал(а): | Есть еще такая MDL функция:
HWND mdlNativeWindow_getWindowHandle ( MSWindow* windowP ); |
to kav
Насчет передаваемого параметра...
Есть мысли, как в VBA добраться до пойнтера MSWindow* windowP для UserForm? |
|
Вернуться к началу |
|
|
kav
Зарегистрирован: 13.02.2006 Сообщения: 14
|
Добавлено: Чт Апр 27, 2006 7:41 am Заголовок сообщения: |
|
|
С VBA совсем незнаком. Если UserForm это диалог, и можем получить его dbP, то *dbP и *windowP одно и то-же. |
|
Вернуться к началу |
|
|
Leonid давно здесь сидим
Зарегистрирован: 28.01.2006 Сообщения: 598 Откуда: С.-Петербург
|
Добавлено: Чт Апр 27, 2006 9:37 am Заголовок сообщения: |
|
|
Насколько я знаю, окна VBA не являются родными для MS, то есть не принадлежат классу MStnChild, и доступ к ним можно получить только через Windows API. Класс VBA окон, как можно прочитать выше, зовется ThunderDFrame
По моему так... |
|
Вернуться к началу |
|
|
|