MFC: Подсветка кнопок для группы переключателей

StackOverflow https://stackoverflow.com/questions/1010297

  •  06-07-2019
  •  | 
  •  

Вопрос

Я знаю, что могу создать целочисленную переменную для группы переключателей, установить для нее целое число и затем вызвать UpdateData (FALSE), чтобы окно выделило соответствующий переключатель. Тем не менее, я хотел бы, возможно, использовать вместо этого элемент управления CButton, но я не знаю, как установить состояние CButton так, чтобы была отмечена определенная радиокнопка группы. Возможно ли это сделать для MFC? Заранее спасибо.

Это было полезно?

Решение

Поскольку мне нужно устанавливать состояния только при запуске или сбросе состояний, я связал элемент управления CButton с соответствующим флагом id для элемента управления CButton, прежде чем включить их. Элемент управления CButton может позже содержать другие значения, так как обработчики onclicked () используются для правильного отображения выбранных значений переключателей.

void UserControls::DoDataExchange(CDataExchange* pDX)
{
    ...
    // Mapping the integer variables to the Radio control for proper
    // displaying
    // not the id of the first radio button of the group for both of them
    DDX_Control(pDX, IDC_NOBTL, nobCtrl);         
    DDX_Control(pDX, IDC_UIHARD, uiCtrl);
    ...
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top