Как создать экземпляр класса в определенном контейнере?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
GRS
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 186
Зарегистрирован: 29.02.2004 (Вс) 22:23
Откуда: Казахстан, Алматы

Как создать экземпляр класса в определенном контейнере?

Сообщение GRS » 24.12.2005 (Сб) 14:11

Есть PictureBox, в нем надо создать другой PictureBox... :shock: Как :?:

(Чего-то не могу с контенерами разобраться. Для чего вообще свойство Container используется? ) :roll:

PS А создаю новый PictureBox я так:

Код: Выделить всё
Me.Controls.Add("vb.picturebox", "Picture2").Visible = True


Спасибо :!:
Встану рано утром, выпью чашку ртути... Всё равно я сдохну в этом институте...

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 24.12.2005 (Сб) 14:27

В стадии дизайна формы на пикчебокс кладёшь еще один пикчебокс и ставишь ему Index=0
Потом, когда надо добавить новый, то:

Код: Выделить всё
Load ВложенныйПикчебокс(1)
ВложенныйПикчебокс(1).Visible=True
Изображение

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 24.12.2005 (Сб) 14:29

Код: Выделить всё
Me.Controls.Add("vb.picturebox", "Picture1").Visible = True
Me.Controls.Add("vb.picturebox", "Picture2").Visible = True
Set Me.Controls("Picture2").Container = Me.Controls("Picture1")

GRS
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 186
Зарегистрирован: 29.02.2004 (Вс) 22:23
Откуда: Казахстан, Алматы

Сообщение GRS » 24.12.2005 (Сб) 14:42

Amed писал(а):
Код: Выделить всё
Me.Controls.Add("vb.picturebox", "Picture1").Visible = True
Me.Controls.Add("vb.picturebox", "Picture2").Visible = True
Set Me.Controls("Picture2").Container = Me.Controls("Picture1")

Благодарю, все работает в лучшем виде :D .

Keks-n, тоже хорошая идея, спасибо :lol: !
---------------------------------------------------------------

Почему-то API SetParent ругается и говорит мне, что объект не существует... И еще :shock: : Me.Controls.Add создать - создает, а свойства потом у объекта не изменяются, тоже - мол объект Required. Почему :?:

А через Me.Controls("ИМЯ ОБЪЕКТА") все работает на ура - это мне что, для каждого "программно созданного" экземпляра придется отписывать Me.Controls("ЕГО ИМЯ").ЕГО СВОЙСТВО ??? :?: :idea:
Встану рано утром, выпью чашку ртути... Всё равно я сдохну в этом институте...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 24.12.2005 (Сб) 15:08

GRS писал(а):А через Me.Controls("ИМЯ ОБЪЕКТА") все работает на ура - это мне что, для каждого "программно созданного" экземпляра придется отписывать Me.Controls("ЕГО ИМЯ").ЕГО СВОЙСТВО ??? :?: :idea:

Да, прикинь.
Lasciate ogni speranza, voi ch'entrate.

GRS
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 186
Зарегистрирован: 29.02.2004 (Вс) 22:23
Откуда: Казахстан, Алматы

Сообщение GRS » 24.12.2005 (Сб) 15:12

:shock: уууужас.... Чё, серьёзно?!
Встану рано утром, выпью чашку ртути... Всё равно я сдохну в этом институте...

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 24.12.2005 (Сб) 15:28

Именно так, посему лучше(и быстрее) через Load
Изображение


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 184

    TopList