vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 
zurück
Rubrik: Maus & Tastatur · Maus   |   VB-Versionen: VB4, VB5, VB629.04.01
Hottracking in VB

Realisierung der in VB fehlenden Ereignisse MouseIn und MouseOut.

Autor:   LonelySuicide666Bewertung:     [ Jetzt bewerten ]Views:  20.791 
www.vbapihelpline.deSystem:  Win9x, WinNT, Win2k, WinXP, Vista, Win7, Win8, Win10 Beispielprojekt auf CD 

Dieser Tipp zeigt, wie die Ereignisse MouseIn und MouseOut, welche ja in Visual-Basic nicht zur Verfügung stehen, mit Hilfe der Windows-API realisiert werden können. Als Beispiel zeigen wir Ihnen die Funktionen in Verbindung mit einem Command-Button. Wird die Maus auf die Schaltfläche bewegt, wird der Text fett dargestellt. Beim Verlassen der Schaltfläche mit der Maus wird der Text dann wieder normal angezeigt.

' zunächst die benötigten API-Deklarationen
Private Declare Function SetCapture Lib "user32.dll" ( _
  ByVal hwnd As Long) As Long
 
Private Declare Function GetCapture Lib "user32.dll" () As Long
 
Private Declare Function ReleaseCapture Lib "user32.dll" () As Long
 
Private Declare Function SetFocusWnd Lib "user32.dll" _
  Alias "SetFocus" ( _
  ByVal hwnd As Long) As Long

Plazieren Sie für das Beispiel einfach ein paar Command-Buttons mit gleichen Namen, aber unterschiedlichen Indexes auf die Form. Im MouseMove-Ereignis der Schaltflächen muss dann nachfolgender Code eingefügt werden.

Private Sub Command1_MouseMove(Index As Integer, _
  Button As Integer, Shift As Integer, X As Single, _
  Y As Single)
 
  With Command1(Index)
    ' Befindet sich die Maus über dem Commandbutton?
    If X >= 0 And Y >= 0 And X <= .Width And Y <= .Height Then
      SetCapture .hwnd
      .FontBold = True
 
    Else ' wenn nicht, Capture lösen
      ReleaseCapture
      .FontBold = False
    End If
 
    ' Beispiel für GetCapture
    SetFocusWnd GetCapture
  End With
End Sub

Die letzte Anweisung SetFocusWnd bewirkt, daß die Schaltfläche zusätzlich den Fokus erhält, sobald der Mauszeiger sich darüber befindet.
 

Dieser Tipp wurde bereits 20.791 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen [email protected]  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren [email protected]!
- 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.
 
   

Druckansicht Druckansicht Copyright ©2000-2022 [email protected] Dieter Otter
Alle 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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel