VOTools for Visual Objects  
and Vulcan.NET  

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




 ab bBrowser
1.4
  bBrowser 1.4 (Limited)
ja
 

Wie kann die Datenzelle 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:GetCellToPoint() kann dann zur Mausposition die Datenzelle ermittelt werden. Die Datenzelle enthält die Spalten- , Zeilen- und Datensatznummer.

Das folgende Codefragment demonstriert die Vorgehensweise:

  LOCAL sPoint    IS _winPOINT
LOCAL oCell     AS bCell

GetCursorPos(@sPoint)
ScreenToClient(oBrowser:Handle(), @sPoint)
oCell := oBrowser:GetCellToPoint(Point{sPoint.X, sPoint.Y})

? "Column: "+NTrim(oCell:Column)
? "Row:    "+NTrim(oCell:Row)
? "RecNo:  "+NTrim(oCell:RecNo)

Copyright © 2003-2015 BEFO GmbH