wxWidget - 设置wxGrid对象的单元格值

时间:2014-12-28 22:31:28

标签: c++ user-interface wxwidgets

我想在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);
    }
}
}

1 个答案:

答案 0 :(得分:0)

在这里猜测,因为你没有自己调试代码,但我认为你的wxColswxRows变量(这些都是坏名字BTW,不要使用{{ 1}}前缀,如果你想确保你的标识符与wxWidgets不冲突)是空的,因为wx除非你使用GetSelected{Cols,Rows}()显式更改了选择模式,否则不会返回任何内容:默认情况下,选择模式为SetSelectionMode(wxGridSelectRowsOrColumns),这意味着您应该迭代单个单元格而不是列/行。