EVT_GRID_CELL_LEFT_CLICK( GridFrame::OnCellLeftClick )
EVT_GRID_ROW_SIZE( GridFrame::OnRowSize )
EVT_GRID_COL_SIZE( GridFrame::OnColSize )
+ EVT_GRID_SELECT_CELL( GridFrame::OnSelectCell )
EVT_GRID_RANGE_SELECT( GridFrame::OnRangeSelected )
EVT_GRID_CELL_CHANGE( GridFrame::OnCellValueChanged )
END_EVENT_TABLE()
logBuf = "";
if ( ev.GetRow() != -1 )
{
- logBuf << "row label " << ev.GetRow();
+ logBuf << "Left click on row label " << ev.GetRow();
}
else if ( ev.GetCol() != -1 )
{
- logBuf << "col label " << ev.GetCol();
+ logBuf << "Left click on col label " << ev.GetCol();
}
else
{
- logBuf << "corner label";
+ logBuf << "Left click on corner label";
}
if ( ev.ShiftDown() ) logBuf << " (shift down)";
wxLogMessage( "%s", logBuf.c_str() );
+ // you must call event skip if you want default grid processing
+ //
ev.Skip();
}
void GridFrame::OnCellLeftClick( wxGridEvent& ev )
{
logBuf = "";
- logBuf << "Cell at row " << ev.GetRow()
+ logBuf << "Left click at row " << ev.GetRow()
<< " col " << ev.GetCol();
wxLogMessage( "%s", logBuf.c_str() );
ev.Skip();
}
+
+void GridFrame::OnSelectCell( wxGridEvent& ev )
+{
+ logBuf = "";
+ logBuf << "Selected cell at row " << ev.GetRow()
+ << " col " << ev.GetCol();
+ wxLogMessage( "%s", logBuf.c_str() );
+
+ // you must call Skip() if you want the default processing
+ // to occur in wxGrid
+ ev.Skip();
+}
+
void GridFrame::OnRangeSelected( wxGridRangeSelectEvent& ev )
{
logBuf = "";
void OnCellLeftClick( wxGridEvent& );
void OnRowSize( wxGridSizeEvent& );
void OnColSize( wxGridSizeEvent& );
+ void OnSelectCell( wxGridEvent& );
void OnRangeSelected( wxGridRangeSelectEvent& );
void OnCellValueChanged( wxGridEvent& );