1. UI를 만든다.
2. 각각의 라디오 버튼의 속성을 지정한다.
- 여기서 중요한 속성은 Group과 ID 이다.
- ID를 통일 시키고 뒤의 숫자로 구분합니다.
- Group과 Tabstop 의 경우 첫번째 라디오 버튼만 True 나머지는 False로 설정합니다. (마지막 버튼도 TRUE로 설정하라는 글도 간혹 있는 것 같습니다.)
3. 라디오 버튼을 추가한 다이얼로그 헤더에 (저 같은 경우에는 ServerCppDlg.h 파일)에 변수와 함수를 선언합니다.
- 변수 : UINT m_radioProgramMode
변수명은 자유
라디오 버튼 클릭시 해당 값을 저장하는 용도
-1 : 선택안함
0 : 라디오 버튼 첫번째 자리
1 : 라디오 버튼 두번째 자리
2 : 라디오 버튼 세번째 자리 ............
- 함수 : afx_msg void RadioCtrl(UINT ID)
함수 명 및 파라미터 명은 자유
라디오 버튼 클릭시 이벤트 처리를 해주는 함수 (등록 필요)
4. cpp파일 (저 같은 경우에는 ServerCppDlg.cpp)로 가서 함수 및 메시지를 등록
- 생성자 뒷 부분에 ,m_radioProgramMode(0)
라디오 버튼의 선택상태를 초기화
-1 : 선택안함
0 : 라디오 버튼 첫번째 자리
1 : 라디오 버튼 두번째 자리
2 : 라디오 버튼 세번째 자리 ............
- DoDataExchange 함수에
DDX_Radio(pDX, 첫번째 라디오 IDC, 헤더에 선언한 UINT변수)를 입력합니다.
DDX_Radio에 라디오 그룹의 첫 번째 IDC값을 m_radioProgramMode 변수와 연결하기 위함.
- BEGIN_MESSAGE_MAP에
ON_CONTROL_RANGE(BN_CLICKED, 첫번째 라디오 IDC, 마지막 라디오 IDC, RadioCtrl)를 입력
해당 범위의 라디오 버튼을 눌렀을 때, 등록된 함수를 호출하라는 의미
5. 헤더에 선언했던 RadioCtrl 함수를 정의 하면 됩니다.
ps. 가독성 편집은 시간 날 때 하겠습니다...
내용 참고 :
https://helgeklein.com/blog/2009/10/radio-buttons-in-mfc-visual-studio-2008-c/
http://yoshiboarder.tistory.com/119
'Study > C, C++ (MFC, UE)' 카테고리의 다른 글
[C++, MFC] 형변환 연구 (0) | 2018.05.31 |
---|---|
[C++] Vector<String> 문자열 소트 (0) | 2018.05.17 |
[MFC] Dialog 기반 프로그램 enter,esc 키 처리에 관해 (0) | 2018.05.15 |
OpenGL 함수 (진행 중.....) (0) | 2018.05.10 |
opengl.dll missing error 해결기 (0) | 2018.05.09 |