vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Controls · sev-Controls   |   VB-Versionen: VB623.12.08
sevTabStrip: Rechtsklick auf Reiter erkennen

Eine Funktion, mit der sich prüfen lässt, auf welchen Tab-Reiter ein Mausklick erfolgte

Autor:   Dieter OtterBewertung:  Views:  8.698 
www.tools4vb.deSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Klickt der Anwender mit der rechten Maustaste auf einen Tab-Reiter des sevTabStrip-Controls wird wie bei der linken Maustaste auch, das MouseDown-Event ausgelöst. Leider verfügt das Event aber über keinen Parameter, der angibt, auf welchen Reiter der Mausklick erfolgte.

Mit nachfolgender Funktion lässt sich der Tab-Reiter jedoch anhand der übergebenen Maus-Koordinaten ermitteln:

' Tab-Reiter anhand Mausposition ermitteln
Private Function GetTabFromXY(oTab As Object, _
  ByVal x As Single, ByVal y As Single) As Long
 
  Dim i As Long
 
  With oTab.Tabs
    ' alle Tab-Objekte durchlaufen
    For i = 1 To .Count
      With .Item(i)
        ' jetzt prüfen, ob angegebene Mausposition
        ' innerhalb des Reiter-Rechtecks liegt
        If x >= .Left And x < .Right And y >= .Top And y <= .Bottom Then
          GetTabFromXY = i: Exit For
        End If
      End With
    Next i
  End With
End Function

Aufrufbeispiel:

Private Sub sevTabStrip1_MouseDown(Button As Integer, Shift As Integer, _
  x As Single, y As Single)
 
  ' Bei Rechtsklick, prüfen, auf welchen Tab-Reiter geklickt wurde
  If Button = vbRightButton Then
    Dim nTab As Long
    nTab = GetTabFromXY(sevTabStrip1, x, y)
    If nTab > 0 Then
      MsgBox "Rechtsklick auf Tab-Reiter: " & CStr(nTab)
    End If
  End If
End Sub



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.