本帖最后由 yz545454 于 2011-02-10 23:36:30 编辑

解决方案 »

  1.   

    直接创建到SStab上是不行的。我给你一个方法,肯定能行:
    先在设计时在那页上放一个PictureBox(如Picture1),然后在程序中将动态创建的textBox 的 Parent 指向该PictureBox即可。 Set text1 = me.Controls.add("VB.TextBox", "text1", Picture1)
      

  2.   

    建立数组控件,怎么写?如何动态建立20个Check到Picture1,
    以下代码改一改Check1(0).Left = 0: Check1(0).Top = 0
    Dim a1 As Object
    Dim h
    For i = 1 To 20
    Load Check1(i)
    Check1(i).Visible = True
    Check1(i).Caption = i
    Check1(i).Left = Check1(i - 1).Left + Check1(0).Height + 1500
    Check1(i).Top = Check1(i - 1).Top
    Next
      

  3.   


    对每个check 修改它的父亲即可:Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As LongSetParent Check1(i).hwnd, Picture1.hwnd
      

  4.   

    支持楼上,同时注意下SSTab的当前标签页
      

  5.   

    动态添加控件用1楼这个方法:
    Set text1 = me.Controls.add("VB.TextBox", "text1", Picture1
      

  6.   


    直接创建到SStab上是可以的,生成控件数组也很简单,用Load Check1(i)    Set txt1 = Controls.Add("vb.textbox", "text")
        SSTab1.Tab = 1 '定位到SSTab的第二页
        Set txt1.Container = SSTab1
        txt1.Move 600, 600, 1400, 400
        txt1.Visible = True
      

  7.   

    老大你早点出现就好了,我建了10几个Frame,累死人了
      

  8.   

    以下代码调试通过
    Dim Text1 As TextBox
    Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As LongPrivate Sub Command2_Click()
        Set Text1 = Me.Controls.Add("VB.TextBox", "text1")
        Text1.Visible = True
        SSTab1.Tab = 1
        SetParent Text1.hWnd, SSTab1.hWnd
        Text1.Left = 300
        Text1.Top = 450
    End Sub
      

  9.   

    SSTab1.Tab = 1'是指向第二页