Создание элементов управления

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Oxygen
Белая и пушистая
Белая и пушистая
Аватара пользователя
 
Сообщения: 1314
Зарегистрирован: 15.07.2003 (Вт) 7:14
Откуда: Москва

Создание элементов управления

Сообщение Oxygen » 26.07.2003 (Сб) 22:45

Как создать элемент управления на форме во время работы программы? И как создать новую форму? Можно конечно настругать кучу объектов в массив, скрыть их и во время работы инициализировать их командами Load и Объект.Visible=true. Но это не совсем подходит - жрется много ресурсов и прога долго грузится, особенно если объектов много и объекты - это навороченные UserControl'ы или ActivX'ы.

DiSe
Обычный пользователь
Обычный пользователь
 
Сообщения: 97
Зарегистрирован: 30.06.2003 (Пн) 19:11

Сообщение DiSe » 26.07.2003 (Сб) 23:06

Полбзуйся :arrow: Set Obj as New Form. Затем можно менять свойства нового объекта.

Oxygen
Белая и пушистая
Белая и пушистая
Аватара пользователя
 
Сообщения: 1314
Зарегистрирован: 15.07.2003 (Вт) 7:14
Откуда: Москва

Сообщение Oxygen » 26.07.2003 (Сб) 23:16

А если я не знаю при разработке сколько мне понадобится объектов, т.е. мне нужен своего рода динамический массив, в котором не будут юзаться имена - а только индексы. Ну типа среды разработки - я же незнаю сколько юзвер захочет кнопочек нарисовать.

DiSe
Обычный пользователь
Обычный пользователь
 
Сообщения: 97
Зарегистрирован: 30.06.2003 (Пн) 19:11

Сообщение DiSe » 27.07.2003 (Вс) 9:37

В чём проблема? Делай:
'******'
ind=ind+1
Set Obj(ind) as New CommandButton
'******'

Gatet
Новичок
Новичок
 
Сообщения: 41
Зарегистрирован: 04.03.2003 (Вт) 16:03
Откуда: Russia

Сообщение Gatet » 28.07.2003 (Пн) 22:59

DiSe писал(а):В чём проблема? Делай:
'******'
ind=ind+1
Set Obj(ind) as New CommandButton
'******'
Простите, конечно но это не фига не работает. Делать нужно так:
Код: Выделить всё
Private Function AddNewButton(frm As Form, name As String)
    'Вместо VB.CommandButton можно использовать льбой контрол ВБ (см. F2)
    With frm.Controls.Add("VB.CommandButton", name)
        'здеся можно задавать любые свойства контрола
        .Left = 100
        .Top = 100
        .Visible = True
    End With
End Function
Memento mori


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

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

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

    TopList  
cron