Здравствуйте!
Не смог разобраться, как программно перейти в режим редактирования ячейки wxGrid'а, может подскадете?
Как программно редактировать яч
-
- Experienced Solver
- Posts: 74
- Joined: Wed Apr 28, 2010 9:41 am
-
- wxWorld Domination!
- Posts: 1471
- Joined: Tue Nov 14, 2006 7:58 am
- Location: Saint-Petersburg, Russia
Re: Как программно редактировать
Привет!
Ну, например, так:martynov77 wrote: Не смог разобраться, как программно перейти в режим редактирования ячейки wxGrid'а, может подскадете?
Code: Select all
grid->SetGridCursor(row, col);
grid->EnableCellEditControl();
OS: Windows XP Pro
Compiler: MSVC++ 7.1
wxWidgets: 2.8.10
Compiler: MSVC++ 7.1
wxWidgets: 2.8.10
-
- Experienced Solver
- Posts: 74
- Joined: Wed Apr 28, 2010 9:41 am
Code: Select all
void OnKeyDown(wxKeyEvent& event)
{
...
SetGridCursor( (int)(newCoverageIdx+1), 0 );
SetFocus();
ShowCellEditControl();
//wxGridCellEditor *pCellEditor = GetCellEditor((int)(newCoverageIdx+1), 0);
//if (pCellEditor) pCellEditor->BeginEdit( (int)(newCoverageIdx+1), 0, this );
...
Если использовать закоментированное, то валится с переполнением стека.
-
- wxWorld Domination!
- Posts: 1471
- Joined: Tue Nov 14, 2006 7:58 am
- Location: Saint-Petersburg, Russia
Ну, если ты юзаешь это из низкоуровневого хандлера самого грида, то тут всякие пересечения могут быть
Из внешнего хандлера мой код точно работает. А так надо разбираться, что именно происходит, в каком состоянии сам грид в этот момент пребывает, отрабатывает ли дефолтный хандлер (Skip()) и т.д.
BTW, OnKeyDown() какого класса метод?
Из внешнего хандлера мой код точно работает. А так надо разбираться, что именно происходит, в каком состоянии сам грид в этот момент пребывает, отрабатывает ли дефолтный хандлер (Skip()) и т.д.
BTW, OnKeyDown() какого класса метод?
OS: Windows XP Pro
Compiler: MSVC++ 7.1
wxWidgets: 2.8.10
Compiler: MSVC++ 7.1
wxWidgets: 2.8.10
-
- Experienced Solver
- Posts: 74
- Joined: Wed Apr 28, 2010 9:41 am
-
- Experienced Solver
- Posts: 74
- Joined: Wed Apr 28, 2010 9:41 am