2.2.6.17.34 GridControl::GetMousePixel
Description
Converts the given twips X/Y to screen-coordinates position and returns the 0-offset row/column index under the mouse pointer.
Syntax
bool GetMousePixel( float X, float Y, int & nRow, int & nCol, int & nx, int & ny )
Parameters
- X
- [input] X coordinate in twips
- Y
- [input] Y coordinate in twips
- nRow
- [output] 0-offset row index under the mouse pointer
- nCol
- [output] 0-offset column index under the mouse pointer
- nx
- [output] x screen-coordinates
- ny
- [output] y screen-coordinates
Return
false if the mouse pointer is not at cell area, otherwise true
Examples
Examples
Example codes can be added to GridControl's examples to run
ON_GRID_BEFORE_MOUSE_DOWN(IDC_GRID, OnBeforeMouseDown) //add to class GridCtrlDLG's Message Map
//add in class GridCtrlDLG
void OnBeforeMouseDown(Control cntrl, short nButton, short nShift, float X, float Y, BOOL* pCancel)
{
if ( MK_RBUTTON != nButton || m_GridCtrl.IsMouseOnHeader() )
return;
int nRow, nCol, nX, nY;
if ( !m_GridCtrl.GetMousePixel(X, Y, nRow, nCol, nX, nY) )
return;
Menu menu;
menu.Add("Red", 1, MF_STRING);
menu.Add("Green", 2, MF_STRING);
menu.Add("Blue", 3, MF_STRING);
int nCmd = 0;
menu.TrackPopupMenu(0, nX, nY, GetSafeHwnd(), &nCmd);
out_int("", nCmd);
if ( nCmd > 0 )
{
vector<uint> vBColor = {COLOR_RED, COLOR_GREEN, COLOR_BLUE};
m_GridCtrl.SetRowColor(nRow, -1, vBColor[nCmd-1]);
}
}
Remark
See Also
GridControl::GetMouseCell
Header to Included
GridControl.h
|