대화 상자의 디자인이 끝나면 새로 만든 대화 상자에 대응하는 클래스를 추가해야 한다. 대화 상자 편집 화면에서 [프로젝트] > [클래스 추가...] 메뉴를 선택하거나, 또는 마우스 오른쪽 버튼을 눌러 나타난 컨텍스트 메뉴 중에서 [클래스 추가...]를 선택하자. 그리고 MFC 클래스 추가 마법사에서는 클래스 이름을 CBrightnessContrastDlg라고 입력하자. 그림 6-14를 참고하라.
대화 상자에 대한 클래스를 추가하였으면 이제 각 컨트롤들과 연관된 멤버 변수를 추가하자. 밝기/명암비 조절 대화 상자 클래스에 추가할 컨트롤들의 멤버 변수는 모두 4개이며, 이들 변수들의 정보는 표 6-5에 나타내었다. 참고로 명암비 조절 인자 값은 IDC_CONTRAST_EDIT에 해당하는 에디트 컨트롤을 통해 입력 받는데, 에디트 컨트롤과 슬라이더 컨트롤을 연계하는 디자인적인 측면을 고려하여 -100부터 +100까지만 입력할 수 있게 한정하였다.
ID |
범주 |
변수 형식 |
변수 이름 |
최솟값 |
최댓값 |
IDC_BRIGHTNESS_EDIT |
Value |
int |
m_nBrightness |
-255 |
255 |
IDC_BRIGHTNESS_SLIDER |
Control |
CScliderCtrl |
m_sliderBrightness |
||
IDC_CONTRAST_EDIT |
Value |
int |
m_nContrast |
-100 |
100 |
IDC_ CONTRAST_SLIDER |
Control |
CScliderCtrl |
m_sliderContrast |
표 6-5에서 변수 범주가 Value로 되어 있는 Value형 멤버 변수 추가 방법은 앞서 5.2절에서 설명한 내용을 참고하기 바란다. 다만 Control형 멤버 변수 추가는 처음 나오는 내용이니 좀 더 자세히 살펴보도록 하자. Control형 멤버 변수는 컨트롤의 값을 받아오는 목적보다는 컨트롤의 동작을 제어하기 위한 목적으로 변수를 만드는 것이다. 컨트롤 동작을 제어하는 방법에 대해서는 조금 뒤에 다시 살펴보기로 하고, 일단 control형 멤버 변수 추가 방법에 대해 좀 더 알아보자.
IDC_BRIGHTNESS_SLIDER에 해당하는 밝기 조절 슬라이더 컨트롤에 대한 변수를 추가하는 방법을 알아보자. 먼저 대화 상자 편집 화면에서 밝기 조절 슬라이더 컨트롤을 선택한 후, 슬라이더 컨트롤 위에서 마우스 오른쪽 버튼을 클릭하여 나타난 컨텍스트 메뉴 중에서 [변수 추가...]를 선택한다. 멤버 변수 추가 마법사가 나타나면 그림 6-15와 같이 범주를 Control로 선택한다. 그러면 변수 형식에는 자동으로 슬라이더 컨트롤에 해당하는 클래스 이름인 CSliderCtrl이 써진다. 변수 이름에는 표 6-5에 나타난 것처럼 m_sliderBrightness를 입력하고, 컨트롤 형식은 기본 값을 그대로 사용하면 된다.