Есть диалог в котором расположены несколько контролов.
Контролы создаются на куче в OnCreate().
Не работало переключение фокуса по нажатию клавиши Tab.
Я занялся извращением и переопределил метод PreTranslateMessage(), в котором по нажатию клавиши Tab переключал фокус вручную путем m_pControl->SetFocus();
Но тут появилась вторая проблема — фокус переключается, но не отрисовывается FocusRect (Рамочка фокуса). Использовать DrawFocusRect() не предлагать. Я конечно извращенец, но не до такой же степени.
Помогите пожалуйста с этим болотом под названием MFC.
Здравствуйте, antonew, Вы писали:
A>Имею небольшую проблему:
A>Есть диалог в котором расположены несколько контролов. A>Контролы создаются на куче в OnCreate(). A>Не работало переключение фокуса по нажатию клавиши Tab. A>Я занялся извращением и переопределил метод PreTranslateMessage(), в котором по нажатию клавиши Tab переключал фокус вручную путем m_pControl->SetFocus();
A>Но тут появилась вторая проблема — фокус переключается, но не отрисовывается FocusRect (Рамочка фокуса). Использовать DrawFocusRect() не предлагать. Я конечно извращенец, но не до такой же степени.
A>Помогите пожалуйста с этим болотом под названием MFC.
А при создании контролов выставляешь им стиль WS_TABSTOP? Иначе понятное дело работать не будет.