wxWidget - установить значение ячейки объекта wxGrid

0

Я хотел бы установить значение выделенных ячеек в объекте 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);
    }
}
}
Теги:
user-interface
wxwidgets

1 ответ

0

Просто угадайте здесь, поскольку вы не потрудились самостоятельно отлаживать код, но я думаю, что ваши переменные wxCols и wxRows (это плохие имена BTW, не используйте префикс wx если вы хотите, чтобы ваши идентификаторы не конфликтуют с wxWidgets) пустые, потому что GetSelected{Cols,Rows}() ничего не возвращает, если вы не изменили режим выделения явно с помощью SetSelectionMode(wxGridSelectRowsOrColumns): по умолчанию режим выбора - это wxGridSelectCells означающий, что вы должны перебирать отдельные ячейки, а не столбцы/строк.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню