powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Добавить элемент в форму
9 сообщений из 9, страница 1 из 1
Добавить элемент в форму
    #33443838
vera_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ли в visual basic добавить в форму элемент управления например textbox програмным способом?
Если можно, то как. Желательно пример.
...
Рейтинг: 0 / 0
Добавить элемент в форму
    #33443913
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Положите на форму TextBox и установите ему Index = 0. В нужный момент новые элементы создаются с помощью оператора Load:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Private Sub Form_Load()
    Dim i As Long
    For i =  1  To  8 
        Load Text1(i)
        With Text1(i)
            .Move  0 , Text1( 0 ).Height * (i -  1 )
            .Text = i
            .Visible = True
        End With
    Next i
End Sub
...
Рейтинг: 0 / 0
Добавить элемент в форму
    #33449949
AndreyF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vera_tМожно ли в visual basic добавить в форму элемент управления например textbox програмным способом?
Если можно, то как. Желательно пример.

См. Help по Controls.Add
Там и пример есть.
...
Рейтинг: 0 / 0
Добавить элемент в форму
    #33453422
vera_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MelkiadesПоложите на форму TextBox и установите ему Index = 0. В нужный момент новые элементы создаются с помощью оператора Load:



Большое спасибо, сработал!

А вот такой вопрос возник, пробую Controls.Add

Код: plaintext
1.
2.
3.
4.
5.
Private Sub Command1_Click()
With UserForm1
Set Mycmd = .Controls.Add("Forms.TextBox.1", "ProgramBox", True)
End With
End Sub

Когда я выполняю эту процедуру из VBA Exel 2000, то она выполняется без ошибок и создает на форме текстовое поля, а когда из под VB6, то выдает ошибку:

Run-time error '13':
Type mismatch

Может кто-нибудь подскажет возможно ли вообще выполнить такую процедуру из VB6, может надо указать другие значения параметров?
...
Рейтинг: 0 / 0
Добавить элемент в форму
    #33453447
Код: plaintext
1.
2.
3.
4.
    Set NewTextBox = Controls.Add("VB.TextBox", "NewTextBox").Visible = True
    NewTextBox.Height =  500 
    NewTextBox.Width =  1000 
    NewTextBox.Top =  0 
    NewTextBox.Left =  0 
...
Рейтинг: 0 / 0
Добавить элемент в форму
    #33903019
Focus_NEW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Melkiades Положите на форму TextBox и установите ему Index = 0. В нужный момент новые элементы создаются с помощью оператора Load:

Private Sub Form_Load()
Dim i As Long
For i = 1 To 8
Load Text1(i)
With Text1(i)
.Move 0, Text1(0).Height * (i - 1)
.Text = i
.Visible = True
End With
Next i
End Sub

Круто!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Добавить элемент в форму
    #37220036
zaraza_1m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С добавлением элемента понятно.
Как написать для добавленного элемента реакцию на воздействие?
То есть:
Private Sub Combo1_Change(Index As Integer)
ля ля ля
End Sub
это работает
Private Sub Combo1(0)_Change(Index As Integer)
ля ля ля
End Sub
Выдает ошибку, на стадии компиляции.
Мне необходимо динамически добавлять на форму порядка 20 combobox, и по результатам выбора в одних из них формировать элементы для выбора в других.
...
Рейтинг: 0 / 0
Добавить элемент в форму
    #37220082
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zaraza_1m,

А Index As Integer что по твоему означает?
...
Рейтинг: 0 / 0
Добавить элемент в форму
    #37221401
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Prozaraza_1m,

А Index As Integer что по твоему означает?
Ну немного неудобно написать 20 раз обработчик событий, в то время как контрол с этим именем не существует и может не существовать. Куда проще написать единый обработчик событий.

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


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