powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Please HELP! (Form зная hWnd)
8 сообщений из 8, страница 1 из 1
Please HELP! (Form зная hWnd)
    #34044977
Rustygold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите, плз.

Знаю hWnd одной из своих форм. Форма крутиться в другом потоке (Thread).

Нужно зная hWnd формы добраться до её контролов (например к Textbox).

что-нибудь типа: Set frm = some_function(hWnd)
...
Рейтинг: 0 / 0
Please HELP! (Form зная hWnd)
    #34045075
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Объект Form как и контролы - внутренние объекты вб. Никакой связи дескрипторов с какими-то левыми приватными объектами нет. Только перебрать коллекцию Forms и проверить hwnd ее членов.
...
Рейтинг: 0 / 0
Please HELP! (Form зная hWnd)
    #34045101
Rustygold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ok. К контролам добрался через SendMessage

А как запустить Public Sub формы, зная её hWnd, да ещё передав в неё параметры ?
...
Рейтинг: 0 / 0
Please HELP! (Form зная hWnd)
    #34045193
sqlru-sqlru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RustygoldOk. К контролам добрался через SendMessage

А как запустить Public Sub формы, зная её hWnd, да ещё передав в неё параметры ?
А Public Sub ты не запустишь если это не ActiveX, тем более в другом потоке. Если бы в своем да для формы из dll то возможно.
p.s. Всегда удивлялся таким мечтателям
...
Рейтинг: 0 / 0
Please HELP! (Form зная hWnd)
    #34045200
sqlru-sqlru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqlru-sqlru RustygoldOk. К контролам добрался через SendMessage

А как запустить Public Sub формы, зная её hWnd, да ещё передав в неё параметры ?
А Public Sub ты не запустишь если это не ActiveX, тем более в другом потоке. Если бы в своем да для формы из dll то возможно.
p.s. Всегда удивлялся таким мечтателям
Если делать средствами WinAPI (ну типа там SendMessage)
...
Рейтинг: 0 / 0
Please HELP! (Form зная hWnd)
    #34045324
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забудь об этой гиблой идее, ничего путного не выйдет
...
Рейтинг: 0 / 0
Please HELP! (Form зная hWnd)
    #34045854
Фотография Бенедикт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rustygold,
можно хранить ссылку на форму через
Код: plaintext
1.
'В форме класса Form1
SetWindowLong(Me.hWnd, GWL_USERDATA, ObjPtr(Me))
, затем читая её через
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
'В месте использования
Dim frm As Form1
ptrObject = GetWindowLong(hWnd, GWL_USERDATA)
CopyMemory frm, ptrObject,  4 
'пользуемся методами frm
frm.MyPublicMethod Param1, Param2
'Очищаем ссылку
CopyMemory frm,  0 &,  4 
, либо, передавая ссылку через свойства окна, используя API функции GetProp/SetProp. Фактически в каждом примере по subclassing-у применяется один из этих методов.
Но что будет в многопоточном приложении - надо смотреть.
...
Рейтинг: 0 / 0
Please HELP! (Form зная hWnd)
    #34051379
Rustygold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бенедикт

Спасибо
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Please HELP! (Form зная hWnd)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]