Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / vb6 Как программным способом добавить элементы управления в Form1 / 21 сообщений из 21, страница 1 из 1
16.07.2007, 11:37
    #34660454
MaratDelman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vb6 Как программным способом добавить элементы управления в Form1
SOS!!!!

Как программным способом добавить элементы управления

что-то вроде этого:

Private Sub Form_Load()
Dim txt As TextBox

txt.Height = 420
txt.Left = 120
txt.Top = 240
txt.Width = 1695

txt.Text = "My Control"

End Sub


чувствую что чего то не хватает, может надо добавить Reference?
кстати, речь идёт о VB 6

Знаю как VBA, знаю как VB.NET, но понятия не имею как это делать на VB 6
...
Рейтинг: 0 / 0
16.07.2007, 12:18
    #34660650
TIKO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vb6 Как программным способом добавить элементы управления в Form1
Код: plaintext
1.
2.
3.
4.
Dim txt As Object
Set txt = Me.Controls.Add("VB.TextBox", "Èìÿ", Me)
txt.Height =  285 
txt.Top =  100 
txt.Visible = True
...
Рейтинг: 0 / 0
16.07.2007, 12:25
    #34660688
TIKO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vb6 Как программным способом добавить элементы управления в Form1
Код: plaintext
1.
2.
3.
4.
5.
Dim txt As TextBox
Set txt = Me.Controls.Add("VB.TextBox", "TextBox1", Me)
txt.Height =  285 
txt.Top =  100 
txt.Text = "New textbox"
txt.Visible = True
...
Рейтинг: 0 / 0
16.07.2007, 12:35
    #34660737
konstsu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vb6 Как программным способом добавить элементы управления в Form1
TIKO
Код: plaintext
1.
2.
3.
4.
5.
Dim txt As TextBox
Set txt = Me.Controls.Add("VB.TextBox", "TextBox1", Me)
txt.Height =  285 
txt.Top =  100 
txt.Text = "New textbox"
txt.Visible = True

А можно ему на событие клик припоять функцию?
...
Рейтинг: 0 / 0
16.07.2007, 12:44
    #34660766
TIKO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vb6 Как программным способом добавить элементы управления в Form1
в начале модуля
Dim WithEvents txt As TextBox
...
Рейтинг: 0 / 0
16.07.2007, 13:03
    #34660822
MaratDelman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vb6 Как программным способом добавить элементы управления в Form1
Огромнейшее спасибо!!! и еще один вопрос
если мне надо созданний новый txt "положить" на SSTab

что-то вроде этого:
Код: plaintext
1.
2.
3.
4.
5.
6.
           .....   SSTab1( 0 ).Tabs = i
                   SSTab1( 0 ).TabsPerRow = i
                   SSTab1( 0 ).Tab = i -  1 
                   SSTab1( 0 ).Caption = "New Page"

                   SSTab( 0 ).Controls.Add(txt)            ' это та самая строка НЕ ВЕРНАЯ
...
Рейтинг: 0 / 0
16.07.2007, 13:08
    #34660844
TIKO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vb6 Как программным способом добавить элементы управления в Form1
Код: plaintext
Set txt = Me.Controls.Add("VB.TextBox", "TextBox1", SSTab1)
полседний параметр устанавливает где будет находиться контрол
...
Рейтинг: 0 / 0
16.07.2007, 13:16
    #34660879
MaratDelman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vb6 Как программным способом добавить элементы управления в Form1
не работает. страница остается пустой
:(
...
Рейтинг: 0 / 0
16.07.2007, 13:23
    #34660907
TIKO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vb6 Как программным способом добавить элементы управления в Form1
а у таба есть закладки?

так он у тебя попадет на первую закладку
SSTab1.Tab = 1
Set txt = Me.Controls.Add("VB.TextBox", "TextBox1", SSTab1)
...
Рейтинг: 0 / 0
16.07.2007, 13:44
    #34661005
MaratDelman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vb6 Как программным способом добавить элементы управления в Form1
ну вот же я написала

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
i= 1 
.....
.....
.....

   i= 3                  'на этом этапе
   SSTab1( 0 ).Tabs = i  'создала новую закладку
   SSTab1( 0 ).TabsPerRow = i   
   SSTab1( 0 ).Tab = i -  1   'потому что нумерация табов начинается с 0
   SSTab1( 0 ).Caption = "New Page"  'пока все в порядке

'а вот тут уже возвращается на предыдущую страничку(закладку) 
   Set txt = Me.Controls.Add("VB.TextBox", "TextBox1", SSTab1( 0 ))

   txt.Height =  285 
   txt.Top =  100 
   txt.Text = "New textbox"
   txt.Visible = True

...
Рейтинг: 0 / 0
16.07.2007, 14:03
    #34661112
TIKO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vb6 Как программным способом добавить элементы управления в Form1
а весь код с циклом покажите
...
Рейтинг: 0 / 0
16.07.2007, 14:05
    #34661120
TIKO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vb6 Как программным способом добавить элементы управления в Form1
TIKOа весь код с циклом покажите
если он конечно есть
и еще зачем такие сложности с табами тексбоксами?
...
Рейтинг: 0 / 0
16.07.2007, 14:10
    #34661153
MaratDelman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vb6 Как программным способом добавить элементы управления в Form1
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
Private Sub Form_Load()
Dim K As String
Dim i As Integer
Dim j As Integer
Dim txt As TextBox
Dim n As Integer

n= 1 
Label1.Caption = "PR-PW-001"   'Command$()

Open "\\fs1\E$\qa-team\Qsoft\MNT\PT.dat" For Input As # 1 
Do Until EOF( 1 )
            Input # 1 , K
If Trim(Mid$(K,  9 ,  14 )) = Trim(Label1.Caption) Then
                i = i +  1 

                If i >  2  Then
                   SSTab1( 0 ).Tabs = i
                   SSTab1( 0 ).TabsPerRow = i
                   SSTab1( 0 ).Tab = i -  1 
                   SSTab1( 0 ).Caption = Trim(Mid$(K,  1 ,  4 ) & "/" & Mid$(K,  5 ,  2 ) & "/" & Mid$(K,  7 ,  2 ))
                    AddMyTabControl
                    
                Else
                    Select Case i
                        Case  1 
                            SSTab1( 0 ).Tab = i -  1 
                            SSTab1( 0 ).Caption = Trim(Mid$(K,  1 ,  4 ) & "/" & Mid$(K,  5 ,  2 ) & "/" & Mid$(K,  7 ,  2 ))
                            txtPT( 1 ).Text = Trim(Mid$(K,  528 ,  150 ))
                            txtPT( 0 ).Text = Trim(Mid$(K,  78 ,  300 ))

                            lblPT( 0 ).Caption = Trim(Mid$(K,  486 ,  4 ))
                            lblPT( 1 ).Caption = Trim(Mid$(K,  378 ,  6 ))
                            lblPT( 2 ).Caption = Trim(Mid$(K,  692 ,  25 ))
                            lblPT( 3 ).Caption = Trim(Mid$(K,  490 ,  20 ))
                        Case  2 
                            SSTab1( 0 ).Tab = i -  1 
                            SSTab1( 0 ).Caption = Trim(Mid$(K,  1 ,  4 ) & "/" & Mid$(K,  5 ,  2 ) & "/" & Mid$(K,  7 ,  2 ))
                            'Enble Page 2 (lbltitle, lblPT,txtPT)
                            For j =  6  To  11 
                                lblTitle(j).Visible = True
                            Next
                            
                            txtPT( 2 ).Visible = True
                            txtPT( 3 ).Visible = True
                            For j =  4  To  7 
                                lblPT(j).Visible = True
                            Next

                            txtPT( 3 ).Text = Trim(Mid$(K,  528 ,  150 ))
                            txtPT( 2 ).Text = Trim(Mid$(K,  78 ,  300 ))

                            lblPT( 4 ).Caption = Trim(Mid$(K,  486 ,  4 ))
                            lblPT( 5 ).Caption = Trim(Mid$(K,  378 ,  6 ))
                            lblPT( 6 ).Caption = Trim(Mid$(K,  692 ,  25 ))
                            lblPT( 7 ).Caption = Trim(Mid$(K,  490 ,  20 ))
                     
                    End Select
                End If
                frmVfrl.Caption = "    " & i & vbTab & ":    ñä''ì ú÷ìåú                 " & Trim(Mid$(K,  9 ,  14 )) & "     ãå''ç ú÷ìä ìôé ùí îëåðä :" & "   " & Trim(Mid$(K,  23 ,  35 ))

            End If
        Loop
                            
End Sub

Private Sub AddMyTabControl()
Dim txt As TextBox
Set txt = Me.Controls.Add("VB.TextBox", "TextBox" &  n , SSTab1( 0 ))
txt.Height =  285 
txt.Top =  100 
txt.Text = "New textbox"
txt.Visible = True

n=n+ 1 

End Sub
...
Рейтинг: 0 / 0
16.07.2007, 14:19
    #34661208
TIKO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vb6 Как программным способом добавить элементы управления в Form1
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Private Sub AddMyTabControl(nIndex as Integer, objTab as Object)
Dim txt As TextBox
objTab.Tab= 1 
Set txt = Me.Controls.Add("VB.TextBox", "TextBox" &  nIndex ,objTab )
txt.Height =  285 
txt.Top =  100 
txt.Text = "New textbox"
txt.Visible = True
End Sub

Код: plaintext
AddMyTabControl(n, SSTab1( 0 ))
так попробуйте
.....
n=n+1
...
Рейтинг: 0 / 0
16.07.2007, 14:27
    #34661250
MaratDelman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vb6 Как программным способом добавить элементы управления в Form1
TIKO TIKOа весь код с циклом покажите
если он конечно есть
и еще зачем такие сложности с табами тексбоксами?

если честно этот код был написан мною на VS 2005
в коде не было проблем,
и работало, да вот только на локальном компе, а на сервере выдавала ошибку :(
хотя любой другой ехе откомпилированний не на VS 2005 работает и на сервере

вот такую:
...
Рейтинг: 0 / 0
16.07.2007, 14:32
    #34661269
MaratDelman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vb6 Как программным способом добавить элементы управления в Form1
TIKO
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Private Sub AddMyTabControl(nIndex as Integer, objTab as Object)
Dim txt As TextBox
objTab.Tab= 1 
Set txt = Me.Controls.Add("VB.TextBox", "TextBox" &  nIndex ,objTab )
txt.Height =  285 
txt.Top =  100 
txt.Text = "New textbox"
txt.Visible = True
End Sub

Код: plaintext
AddMyTabControl(n, SSTab1( 0 ))
так попробуйте
.....
n=n+1

не идет
...
Рейтинг: 0 / 0
16.07.2007, 14:38
    #34661303
MaratDelman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vb6 Как программным способом добавить элементы управления в Form1
MaratDelman TIKO TIKOа весь код с циклом покажите
если он конечно есть
и еще зачем такие сложности с табами тексбоксами?

если честно этот код был написан мною на VS 2005
в коде не было проблем,
и работало, да вот только на локальном компе, а на сервере выдавала ошибку :(
хотя любой другой ехе откомпилированний не на VS 2005 работает и на сервере

вот такую:

po4emu to ne polu4aetsya sdelat' attach file
...
Рейтинг: 0 / 0
16.07.2007, 14:45
    #34661337
TIKO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vb6 Как программным способом добавить элементы управления в Form1
странно так у меня идет
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Dim i As Integer
For i =  1  To  3 
SSTab1( 0 ).Tab =  1 
Set txt = Me.Controls.Add("VB.TextBox", "TextBox" & i, SSTab1( 0 ))
txt.Height =  285 
txt.Top =  800  * i
txt.Text = "New textbox"
txt.Visible = True
Next i
а в условие заходит ?
If i > 2 Then
...
Рейтинг: 0 / 0
16.07.2007, 14:51
    #34661359
MaratDelman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vb6 Как программным способом добавить элементы управления в Form1
TIKOстранно так у меня идет
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Dim i As Integer
For i =  1  To  3 
SSTab1( 0 ).Tab =  1 
Set txt = Me.Controls.Add("VB.TextBox", "TextBox" & i, SSTab1( 0 ))
txt.Height =  285 
txt.Top =  800  * i
txt.Text = "New textbox"
txt.Visible = True
Next i
а в условие заходит ?
If i > 2 Then

aga
...
Рейтинг: 0 / 0
16.07.2007, 14:54
    #34661367
MaratDelman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vb6 Как программным способом добавить элементы управления в Form1
MaratDelman TIKOстранно так у меня идет
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Dim i As Integer
For i =  1  To  3 
SSTab1( 0 ).Tab =  1 
Set txt = Me.Controls.Add("VB.TextBox", "TextBox" & i, SSTab1( 0 ))
txt.Height =  285 
txt.Top =  800  * i
txt.Text = "New textbox"
txt.Visible = True
Next i
а в условие заходит ?
If i > 2 Then

aga
догадываюсь почему у тебя проходит.
ты же не создаешь новую закладку, это как то между собой связано
...
Рейтинг: 0 / 0
16.07.2007, 15:06
    #34661415
TIKO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vb6 Как программным способом добавить элементы управления в Form1
с создание новых закладок
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Dim i As Integer
For i =  1  To  3 
SSTab1( 1 ).Tabs =  4 
SSTab1( 1 ).TabsPerRow =  4 
SSTab1( 1 ).Tab =  1 
Set txt = Me.Controls.Add("VB.TextBox", "TextBox" & i, SSTab1( 1 ))
txt.Height =  285 
txt.Top =  800  * i
txt.Text = "New textbox"
txt.Visible = True
Next i
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / vb6 Как программным способом добавить элементы управления в Form1 / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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