Я создал простое диалоговое приложение и в CDialog по умолчанию добавил три кнопки (путем их перетаскивания) с помощью редактора Visual Studio.
Кнопки «ОК» и «Отмена» по умолчанию также присутствуют.
Я хочу установить фокус на кнопку 1, когда я нажимаю кнопку 3.
Я установил для свойства Flat значение true в свойствах кнопок muy.
Я закодировал это:
void CbuttonfocusDlg::OnBnClickedButton3()
{
// TODO: Add your control notification handler code here
GetDlgItem(IDC_BUTTON1)->SetFocus();
Invalidate();
}
Но граница в button1 никогда не рисуется. Каретка (пунктирная линия, указывающая на фокус) рисуется только в том случае, если я нажимал TAB в любое время до нажатия кнопки 3.
Я хочу, чтобы кнопка выглядела точно так же, как она выглядит после того, как я нажму на нее. Программное отображение пунктирной линии внутри кнопки было бы плюсом.
Что я хочу:
Что я получаю:

