Dim myText(2) As VB.TextBoxPrivate Sub Command1_Click() Dim i% For i = 0 To SSTab1.Tabs - 1 SSTab1.Tab = i Set myText(i) = Form1.Controls.Add("vb.TextBox", "txt" & i & "") myText(i).Visible = True myText(i).Text = "txt" & i SetParent myText(i).hWnd, SSTab1.hWnd myText(i).Move 350, 500, 1000, 330 Next End Sub
Dim myText() As VB.TextBoxPrivate Sub Command1_Click() ReDim myText(SSTab1.Tabs - 1) Dim i% For i = 0 To SSTab1.Tabs - 1 SSTab1.Tab = i Set myText(i) = Form1.Controls.Add("vb.TextBox", "txt" & i & "") myText(i).Visible = True myText(i).Text = "txt" & i SetParent myText(i).hWnd, SSTab1.hWnd myText(i).Move 350, 500, 1000, 330 Next SSTab1.Tab = 0 End Sub
少了SetParent函数,补上: Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long Dim myText() As VB.TextBoxPrivate Sub Command1_Click() ReDim myText(SSTab1.Tabs - 1) Dim i% For i = 0 To SSTab1.Tabs - 1 SSTab1.Tab = i Set myText(i) = Form1.Controls.Add("vb.TextBox", "txt" & i & "") myText(i).Visible = True myText(i).Text = "txt" & i SetParent myText(i).hWnd, SSTab1.hWnd myText(i).Move 350, 500, 1000, 330 Next SSTab1.Tab = 0 End Sub
-------------------------
每个控件都有一个名字,直接写那个控件的名不行么
Dim myText(2) As VB.TextBoxPrivate Sub Command1_Click()
Dim i%
For i = 0 To SSTab1.Tabs - 1
SSTab1.Tab = i
Set myText(i) = Form1.Controls.Add("vb.TextBox", "txt" & i & "")
myText(i).Visible = True
myText(i).Text = "txt" & i
SetParent myText(i).hWnd, SSTab1.hWnd
myText(i).Move 350, 500, 1000, 330
Next
End Sub
ReDim myText(SSTab1.Tabs - 1)
Dim i%
For i = 0 To SSTab1.Tabs - 1
SSTab1.Tab = i
Set myText(i) = Form1.Controls.Add("vb.TextBox", "txt" & i & "")
myText(i).Visible = True
myText(i).Text = "txt" & i
SetParent myText(i).hWnd, SSTab1.hWnd
myText(i).Move 350, 500, 1000, 330
Next
SSTab1.Tab = 0
End Sub
或者,我在第一个Tab里摆好控件,然后怎样能使其它的tab也能够有同样的这样控件(最好能用个空间数组),由于tab的数量是动态变化的,我不可能在设计时把每个tab的控件都摆好
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Dim myText() As VB.TextBoxPrivate Sub Command1_Click()
ReDim myText(SSTab1.Tabs - 1)
Dim i%
For i = 0 To SSTab1.Tabs - 1
SSTab1.Tab = i
Set myText(i) = Form1.Controls.Add("vb.TextBox", "txt" & i & "")
myText(i).Visible = True
myText(i).Text = "txt" & i
SetParent myText(i).hWnd, SSTab1.hWnd
myText(i).Move 350, 500, 1000, 330
Next
SSTab1.Tab = 0
End Sub