There might be a better way but give it the try:
NOTE: I'm using TabStrip control as it offers more flexibility.
Code:Option Explicit Dim myTabIndex As Integer Private Sub Form_Load() Dim i As Integer TabStrip1.Tabs.Clear For i = 1 To 5 TabStrip1.Tabs.Add i, , "Tab" & i Next i End Sub Private Sub TabStrip1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single) If GetTab(x + TabStrip1.Left, y + TabStrip1.Top) > 0 Then If Button = vbMiddleButton Then TabStrip1.Tabs.Remove myTabIndex End If End If End Sub Private Function GetTab(x As Single, y As Single) Dim i As Integer Dim tabLeft As Single myTabIndex = -1 For i = 1 To TabStrip1.Tabs.Count tabLeft = TabStrip1.Left + TabStrip1.Tabs(i).Left If (tabLeft <= x And tabLeft + TabStrip1.Tabs(i).Width >= x) And _ (TabStrip1.Tabs(i).Top <= y And TabStrip1.Tabs(i).Top + TabStrip1.Tabs(i).Height >= y) Then myTabIndex = i Exit For End If Next i GetTab = myTabIndex End Function




Reply With Quote