Added demo of handling EVT_GRID_SELECT_CELL.
A couple of other minor tweaks. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4063 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -68,6 +68,7 @@ BEGIN_EVENT_TABLE( GridFrame, wxFrame )
|
|||||||
EVT_GRID_CELL_LEFT_CLICK( GridFrame::OnCellLeftClick )
|
EVT_GRID_CELL_LEFT_CLICK( GridFrame::OnCellLeftClick )
|
||||||
EVT_GRID_ROW_SIZE( GridFrame::OnRowSize )
|
EVT_GRID_ROW_SIZE( GridFrame::OnRowSize )
|
||||||
EVT_GRID_COL_SIZE( GridFrame::OnColSize )
|
EVT_GRID_COL_SIZE( GridFrame::OnColSize )
|
||||||
|
EVT_GRID_SELECT_CELL( GridFrame::OnSelectCell )
|
||||||
EVT_GRID_RANGE_SELECT( GridFrame::OnRangeSelected )
|
EVT_GRID_RANGE_SELECT( GridFrame::OnRangeSelected )
|
||||||
EVT_GRID_CELL_CHANGE( GridFrame::OnCellValueChanged )
|
EVT_GRID_CELL_CHANGE( GridFrame::OnCellValueChanged )
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
@@ -443,20 +444,22 @@ void GridFrame::OnLabelLeftClick( wxGridEvent& ev )
|
|||||||
logBuf = "";
|
logBuf = "";
|
||||||
if ( ev.GetRow() != -1 )
|
if ( ev.GetRow() != -1 )
|
||||||
{
|
{
|
||||||
logBuf << "row label " << ev.GetRow();
|
logBuf << "Left click on row label " << ev.GetRow();
|
||||||
}
|
}
|
||||||
else if ( ev.GetCol() != -1 )
|
else if ( ev.GetCol() != -1 )
|
||||||
{
|
{
|
||||||
logBuf << "col label " << ev.GetCol();
|
logBuf << "Left click on col label " << ev.GetCol();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
logBuf << "corner label";
|
logBuf << "Left click on corner label";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ev.ShiftDown() ) logBuf << " (shift down)";
|
if ( ev.ShiftDown() ) logBuf << " (shift down)";
|
||||||
wxLogMessage( "%s", logBuf.c_str() );
|
wxLogMessage( "%s", logBuf.c_str() );
|
||||||
|
|
||||||
|
// you must call event skip if you want default grid processing
|
||||||
|
//
|
||||||
ev.Skip();
|
ev.Skip();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -464,7 +467,7 @@ void GridFrame::OnLabelLeftClick( wxGridEvent& ev )
|
|||||||
void GridFrame::OnCellLeftClick( wxGridEvent& ev )
|
void GridFrame::OnCellLeftClick( wxGridEvent& ev )
|
||||||
{
|
{
|
||||||
logBuf = "";
|
logBuf = "";
|
||||||
logBuf << "Cell at row " << ev.GetRow()
|
logBuf << "Left click at row " << ev.GetRow()
|
||||||
<< " col " << ev.GetCol();
|
<< " col " << ev.GetCol();
|
||||||
wxLogMessage( "%s", logBuf.c_str() );
|
wxLogMessage( "%s", logBuf.c_str() );
|
||||||
|
|
||||||
@@ -494,6 +497,19 @@ void GridFrame::OnColSize( wxGridSizeEvent& ev )
|
|||||||
ev.Skip();
|
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 )
|
void GridFrame::OnRangeSelected( wxGridRangeSelectEvent& ev )
|
||||||
{
|
{
|
||||||
logBuf = "";
|
logBuf = "";
|
||||||
|
@@ -54,6 +54,7 @@ class GridFrame : public wxFrame
|
|||||||
void OnCellLeftClick( wxGridEvent& );
|
void OnCellLeftClick( wxGridEvent& );
|
||||||
void OnRowSize( wxGridSizeEvent& );
|
void OnRowSize( wxGridSizeEvent& );
|
||||||
void OnColSize( wxGridSizeEvent& );
|
void OnColSize( wxGridSizeEvent& );
|
||||||
|
void OnSelectCell( wxGridEvent& );
|
||||||
void OnRangeSelected( wxGridRangeSelectEvent& );
|
void OnRangeSelected( wxGridRangeSelectEvent& );
|
||||||
void OnCellValueChanged( wxGridEvent& );
|
void OnCellValueChanged( wxGridEvent& );
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user