CDialog의 CButton 인 라디오 단추가 있습니다. 사용자가 라디오 버튼을 클릭하면 OnClickedRadioButton
함수가 호출됩니다.MFC 토글 라디오 단추가 지연됩니다.
는 OnClickedRadioButton
내부 나는이 함수를 호출하여 버튼을 전환 :
void toggleButton(CButton& theButton)
{
switch(theButton.GetCheck())
{
case BST_UNCHECKED:
{
theButton.SetCheck(BST_CHECKED);
break;
}
case BST_CHECKED:
{
theButton.SetCheck(BST_UNCHECKED);
break;
}
default:
{
theButton.SetCheck(BST_UNCHECKED);
}
}
}
내가 & 컴파일
프로그램을 실행 (I) 라디오 버튼이 선택된 경우, 나는 그것을 취소를 클릭 할 수 있습니다. (ii) 라디오 버튼이 선택되어 있지 않으면 클릭하고 아무 일도 일어나지 않습니다. 그러나 다른 프로그램 (예 : 시각 스튜디오)을 클릭 한 다음 CDialog를 다시 클릭하면 라디오 버튼이 선택됩니다.나는 & 시도한 기능 Cwnd::UpdateDialogControls
과 Cwnd::UpdateData
을 보았지만 이러한 문제를 해결할 수 없었습니다.
당신은 당신이 라디오 버튼을 클릭 할 때 알고 있습니다 , OnClickedRadioButton 이벤트를 발생시키는 SetCheck 메서드를 사용합니까? – rrirower
@rrirower 아니, 나는 몰랐다. 나는 MFC가 처음이다. 사용자가 라디오 버튼을 토글 할 수있는 좋은 방법을 알고 계십니까? – user3731622
잘못된 컨트롤을 사용하고있을 수 있습니다. "토글 링"은 대개 '켜짐'또는 '꺼짐'이 될 수 있으므로 확인란을 의미합니다. – rrirower