我想在wxGrid对象中设置所选单元格的值(下面:PuzzleGrid),但我的代码不起作用。知道为什么这是错的吗?谢谢!
void wxkitFrame::OnDrawStarButtonClick(wxCommandEvent& event)
{
wxArrayInt wxCols, wxRows;
wxCols=PuzzleGrid->GetSelectedCols();
wxRows=PuzzleGrid->GetSelectedRows();
wxString star="*";
for (int i=0; i<wxRows.GetCount(); i++)
{
int rownum=wxRows[i];
for (int j=0; j<wxCols.GetCount(); j++)
{
int colnum=wxCols[j];
PuzzleGrid->SetCellValue(rownum,colnum,star);
}
}
}
答案 0 :(得分:0)
在这里猜测,因为你没有自己调试代码,但我认为你的wxCols
和wxRows
变量(这些都是坏名字BTW,不要使用{{ 1}}前缀,如果你想确保你的标识符与wxWidgets不冲突)是空的,因为wx
除非你使用GetSelected{Cols,Rows}()
显式更改了选择模式,否则不会返回任何内容:默认情况下,选择模式为SetSelectionMode(wxGridSelectRowsOrColumns)
,这意味着您应该迭代单个单元格而不是列/行。