用microsoft tabbed dialog control 6.0可以加!!还可以自己写,即不用activex ocx, 以下是我的原代码!'选项卡专用函数1Private Sub LabTit_Click(Index As Integer)
    TabCtlSet Index
End Sub
'选项卡专用函数2
Sub Draw3dCtl(F As Form, C As Control, Optional b3Line As String = "0")
    
    Const White = &HFFFFFF
    Const DarkGrey = &H80000015
    Dim X1 As Integer
    Dim X2 As Integer
    Dim Y1 As Integer
    Dim Y2 As Integer
    Dim cHeight As Integer
    Dim cWidth As Integer
    Dim cLeft As Integer
    Dim cTop As Integer
    Dim LForColor As Long
    
    LForColor = C.BackColor
    F.DrawWidth = 3
    
    cLeft = C.Left
    cTop = C.Top
    cHeight = C.Height
    cWidth = C.Width    'Top
    X1 = cLeft
    X2 = cLeft + cWidth
    Y1 = cTop
    Y2 = cTop
    If b3Line = "4" Then
        F.ForeColor = LForColor
    Else
        F.ForeColor = White
    End If
    F.Line (X1, Y1)-(X2, Y2)
    
    'Left
    X1 = cLeft
    X2 = cLeft
    Y1 = cTop
    Y2 = cTop + cHeight
    If b3Line = "4" Then
        F.ForeColor = LForColor
    Else
        F.ForeColor = White
    End If
    F.Line (X1, Y1)-(X2, Y2)
    'Buttom
    X1 = cLeft
    X2 = cLeft + cWidth
    Y1 = cTop + cHeight
    Y2 = cTop + cHeight
    If b3Line = "0" Then
        F.ForeColor = DarkGrey
    ElseIf b3Line = "1" Then
        F.ForeColor = LForColor
    ElseIf b3Line = "2" Then
        F.ForeColor = White
    End If
    F.Line (X1, Y1)-(X2, Y2)
 
    'Right
    X1 = cLeft + cWidth
    X2 = cLeft + cWidth
    Y1 = cTop
    If b3Line = "2" Then
        Y2 = cTop + cHeight - 35
    Else
        Y2 = cTop + cHeight
    End If
    If b3Line = "4" Then
        F.ForeColor = LForColor
    Else
        F.ForeColor = DarkGrey
    End If
    F.Line (X1, Y1)-(X2, Y2)
End Sub'选项卡专用函数3
Private Sub labtab_Click(Index As Integer)
  
  TabCtlSet IndexEnd Sub'选项卡专用函数4
Private Sub TabCtlSet(Optional Index As Integer = 0)
    Dim i As Integer
    Static sIndex As Integer
    If Index = sIndex Then
      Exit Sub
    End If
    LabTab(sIndex).Tag = "2"
    LabTit(sIndex).Top = LabTit(sIndex).Top + 35
    LabTab(Index).Tag = "1"
    LabTit(Index).Top = LabTit(Index).Top - 35
    Fratab(sIndex).Visible = False
    MakeCtlSize LabTab(sIndex), False
    MakeCtlSize LabTab(Index), True
    For i = 0 To 2
        Draw3dCtl Me, Fratab(i)
    Next i
    For i = 0 To 2
        Draw3dCtl Me, LabTab(i), LabTab(i).Tag
    Next i
    Fratab(Index).Visible = True
    'Fratab(index).ZOrder
    sIndex = Index
    Fratab(Index).ZOrder
    LabTab(Index).ZOrder
    LabTit(Index).ZOrder
End Sub'选项卡专用函数5Private Sub TabCtl_load()
    Dim i As Integer
    For i = 0 To 2
        LabTab(i).BackColor = Me.BackColor
        Fratab(i).BackColor = Me.BackColor
        Fratab(i).Left = 180
        Fratab(i).Top = 1200
    Next i
    MakeCtlSize LabTab(0), True
    LabTit(0).Top = LabTit(0).Top - 35
    LabTab(1).Height = 310
    LabTab(2).Height = 310
    MakeCtlSize LabTab(1), False
    MakeCtlSize LabTab(2), False
    LabTab(0).Tag = "1"
    For i = 0 To 2
        Draw3dCtl Me, Fratab(i)
        Draw3dCtl Me, LabTab(i), LabTab(i).Tag
    Next i
    Fratab(0).Visible = True
    Fratab(0).ZOrder
    LabTab(0).ZOrder
    LabTit(0).ZOrder
End Sub'选项卡专用函数6
Private Sub MakeCtlSize(C As Control, Optional ByVal IsGranda As Boolean = False)
    If IsGranda = False Then
        If C.Height = 370 Then
           Draw3dCtl Me, C, "4"
           C.Height = 310
           C.Top = C.Top + 35
           C.Left = C.Left + 35
           C.Width = C.Width - 35
        Else
           Exit Sub
        End If
    Else
        If C.Height = 370 Then
           Exit Sub
        Else
           Draw3dCtl Me, C, "4"
           C.Height = 370
           C.Top = C.Top - 35
           C.Left = C.Left - 35
           C.Width = C.Width + 35
        End If
    End If
End Sub