powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VB6: Как бы получить ссылку на прародителя контрола?
7 сообщений из 7, страница 1 из 1
VB6: Как бы получить ссылку на прародителя контрола?
    #36506212
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть форма MyForm
На ней лежит юзерконтрол MyControl
В котором есть еще один юзерконтрол MyCC

Из MyCC требуются две вещи (пока, а возможно потом понадобится что-то еще):
- MyCC должен управлять заголовком формы MyForm
- MyCC должен управлять видимостью контрола MyControl

Всякие пёсьи манипуляции с Parent, Extender и Ambient не помогают. Пока что я вынужден при старте формы "спускать" на уровень MyCC ссылку на MyForm и имя контрола MyControl, но как-то это не очень удобно.
...
Рейтинг: 0 / 0
VB6: Как бы получить ссылку на прародителя контрола?
    #36506318
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем, вопрос стал более абстрактным:

Как получить указатель на форму, из юзерконтрола произвольной вложенности (хочу управлять ее свойствами и перехватывать события)
...
Рейтинг: 0 / 0
VB6: Как бы получить ссылку на прародителя контрола?
    #36507396
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usercontrol.Parent — из любого уровня вложенности вернется форма.

Jah loves you.
...
Рейтинг: 0 / 0
VB6: Как бы получить ссылку на прародителя контрола?
    #36507415
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

да фига с два:

?usercontrol.Parent.name

---------------------------
Microsoft Visual Basic
---------------------------
Run-time error '438':

Object doesn't support this property or method
---------------------------
ОК Справка
---------------------------
...
Рейтинг: 0 / 0
VB6: Как бы получить ссылку на прародителя контрола?
    #36507424
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вложенность какого рода? Как контейнер или один юзерконтрол является частью другого?

Jah loves you.
...
Рейтинг: 0 / 0
VB6: Как бы получить ссылку на прародителя контрола?
    #36507444
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче, если как часть, то каждый контрол в иерархии должен иметь свойство:
Код: plaintext
1.
2.
3.
Public Property Get ParentControl() As Object
    Set ParentControl = Parent
End Property
Оно нужно потому что Parent как бы приватное свойство контрола.

Дойти до формы из самого вложенного контрола:
Код: plaintext
1.
2.
3.
4.
    Set p = UserControl.Parent
    While Not TypeOf p Is Form
        Set p = p.ParentControl
    Wend
Jah loves you.
...
Рейтинг: 0 / 0
VB6: Как бы получить ссылку на прародителя контрола?
    #36507453
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как часть....

Ну это-то понятно - свойство всегда можно спустить или поднять по иерархии. Я просто думал, есть способ проще....
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VB6: Как бы получить ссылку на прародителя контрола?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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