Программно создать массив контролов

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

Программно создать массив контролов

Сообщение Особист » 05.06.2006 (Пн) 17:21

Подскажите кто-нибудь, пожалуйста, как можно программно создать на форме произвольное количество контролов?

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 05.06.2006 (Пн) 17:28

Вообще-то, в поиск. Но я сегодня добрый. Пример с одним элементом. Думаю и с двумя, тремя, десятью,... разберешься.
Код: Выделить всё
'Option Rtfm On
'Option Ban On

Dim WithEvents oBox As TextBox
Private Sub Form_Load()

    Me.Width = 4500
    Me.Caption = "RTFM!"

    Set oBox = Me.Controls.Add("VB.TextBox", "txtBox")
    oBox.BorderStyle = 0
    oBox.ForeColor = vbRed
    oBox.BackColor = vbBlack
    oBox.FontName = "Courier New"
    oBox.FontBold = True
    oBox.FontSize = 72
    oBox.Top = 0
    oBox.Left = 0
    oBox.Height = 500
    oBox.Width = 4500
    oBox.Text = "RTFM!"
    oBox.Visible = True
End Sub

Private Sub oBox_Click()
    MsgBox "RTFM!"
End Sub
Моду создают модоки, а распространяют модозвоны.

Особист
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 122
Зарегистрирован: 10.05.2006 (Ср) 12:46

Сообщение Особист » 05.06.2006 (Пн) 17:38

Спасибо!!!
Создавать контролы научился. Только вот (пока) не понял, как создать МАССИВ из них. oBox.index = N не проходит; Add("VB.textbox","txtBox("&N&")") тоже... ))

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 05.06.2006 (Пн) 17:40

И не поймёшь, ибо никак.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Особист
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 122
Зарегистрирован: 10.05.2006 (Ср) 12:46

Сообщение Особист » 05.06.2006 (Пн) 17:41

Упс... Неужели НЕВОЗМОЖНО программно создать массив из нескольких Label'ов??? :shock: :shock: :shock:
Хреново тогда... :?

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

Сообщение Amed » 05.06.2006 (Пн) 17:46

Можно, но по-другому.

Код: Выделить всё
'На форме Label1(0).
Load Label1(1)

With Label1(1)
    .Caption = "444"
    .Visible = True
    .Move 0, 0
End With


Как же утомили уже...


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

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

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

    TopList