VOTools for Visual Objects  
and Vulcan.NET  

bBrowser => Tipps & Tricks => Wie kann die Datenspalte unter der Maus ermittelt werden?    




 ab bBrowser
1.4
  bBrowser 1.4 (Limited)
ja
 

Wie kann die Datenspalte unter der Maus ermittelt werden?

Zuerst muss mit der API-Funktion GetCursorPos() die Position der Maus ermittelt werden. Weil die API-Funktion die Mausposition relativ zur linken oberen Bildschirmecke zurückgibt, muss die Position auf die linke obere Ecke des bBrowser umgerechnet werden. Hierfür kann die API-Funktion ScreenToClient() verwendet werden. Mit der Methode bBrowser:GetColumnToPoint() kann dann zur Mausposition die Spaltennummer ermittelt werden. Anschließend muss noch die Methode bBrowser:GetOpenColumn() aufgerufen werden, um zur Spaltennummer das Spaltenobjekt zu ermitteln.

Das folgende Codefragment demonstriert die Vorgehensweise:

  LOCAL sPoint    IS _winPOINT
LOCAL iColNo    AS DWORD
LOCAL oColumn   AS bDataColumn

GetCursorPos(@sPoint)
ScreenToClient(oBrowser:Handle(), @sPoint)
iColNo := oBrowser:GetColumnToPoint(Point{sPoint.X, sPoint.Y})
IF iColNo>0
  oColumn := oBrowser:GetOpenColumn(iColNo)
ENDIF

Copyright © 2003-2015 BEFO GmbH