bOk = MTblObjFromPoint( hWndTbl, nX, nY, nRow, hWndCol, nFlags, nMTblFlags )

Like SalTblObjectsFromPoint, but retrieves additional M!Table specific flags.

Parameters
hWndTbl
Window Handle: Handle of the table

nX
Number: Screen pixel X coordinate relative to upper left corner of the table.

nY
Number: Screen pixel Y coordinate relative to upper left corner of the table.

nRow
Receive Number: If nY is over a row then the row number is returned in nRow, otherwise nRow is TBL_Error.

hWndCol
Receive Window Handle: If nX is over a column then its window handle is returned in hWndCol, otherwise hWndCol is hWndNULL.

nFlags
Receive Number: The part of the table. Refer to SQL Windows documentation for further details.

nMTblFlags
Receive Number: M!Table specific flags:

MTOFP_OVERNODE

Mouse is over a node. See also: Tree view.

MTOFP_OVERTEXT

Mouse is over a text

MTOFP_OVERIMAGE

Mouse is over an image. See also: Custom images.

MTOFP_OVERMERGEDCELL

Mouse is over a merged cell. See also: Cell merging.

MTOFP_OVERCOLHDRGRP

Mouse is over a column header group. See also: Column header groups.

MTOFP_OVERCOLHDRSEP

Mouse is over a column header separator.

MTOFP_OVERCORNERSEP

Mouse is over the vertical corner separator.

MTOFP_OVERROWHDRSEP

Mouse is over a row header separator.

MTOFP_OVERBTN

Mouse is over a permanently visible M!Table button. See also: Buttons.

MTOFP_OVERDDBTN

Mouse is over a permanently visible drop down button. See also: Buttons

Return
Boolean: TRUE if successful or FALSE if an error occurs

Example
In this example a beep is played if the mouse is over the cell text of a merged cell:

On WM_MOUSEMOVE
  Set nX = SalNumberLow( lParam )
  Set nY = SalNumberHigh( lParam )
  If MTblObjFromPoint( hWndTbl, nX, nY, nRow, hWndCol, nFlags, nMTblFlags )
    If ( nMTblFlags & MTOFP_OVERCELLTEXT AND nMTblFlags & MTOFP_OVERMERGEDCELL )
      Call SalMessageBeep( 0 )

See also
MTblGetSepCol
Size, location and hit test

Created with the Personal Edition of HelpNDoc: Write eBooks for the Kindle