더북(TheBook)

멤버 변수 추가 마법사 대화 상자의 중앙에서 새로 추가하려는 컨트롤 변수의 ID를 확인할 수 있으며, 그림 5-30에서는 아까 선택한 IDC_NEW_WIDTH가 자동으로 선택된 것을 볼 수 있다. 모든 대화 상자 컨트롤은 두 가지 종류의 멤버 변수를 추가할 수 있다. 하나는 Control형 멤버 변수이고, 다른 하나는 Value형 멤버 변수이다. 해당 컨트롤의 동작을 제어하기 위해서는 주로 Control형 변수를 지정하고, 단순히 사용자가 입력한 값을 받아오는 목적이라면 Value형 변수를 지정한다. 멤버 변수의 종류 선택은 멤버 변수 추가 마법사의 우측에 있는 범주 항목에서 설정할 수 있다. 여기서는 사용자가 입력한 영상의 크기 값을 받아오는 목적으로 사용할 것이기 때문에 범주의 항목을 Value로 변경하자. 그러면 좌측의 변수 형식에서 사용자 입력 값을 받아올 변수의 형식을 지정할 수 있는데, 여기서는 영상의 가로 픽셀 크기를 받아올 예정이므로 정수형 타입인 int를 선택하자. 그리고 변수 이름에는 m_nWidth라고 입력하자. 입력 받을 영상의 가로 크기의 최솟값과 최댓값, 주석 등은 선택적으로 입력하고 [마침] 버튼을 클릭하자. IDC_NEW_HEIGHT에 해당하는 에디트 컨트롤에서도 그림 5-30과 동일하게 멤버 변수를 추가하고, 다만 변수 이름은 m_nHeight로 입력하자.

이미지 색상 타입을 선택하는 콤보 박스에 대해서도 멤버 변수를 추가하도록 하자. 그림 5-31은 IDC_IMAGE_TYPE에 해당하는 콤보 박스를 선택한 후, [변수 추가...] 메뉴를 선택했을 때 나타나는 멤버 변수 추가 마법사의 모습이다. 여기서도 범주는 Value를 선택하고, 변수 형식은 int, 변수 이름은 m_nType으로 입력하자. 콤보 박스 컨트롤에 대하여 Value형 멤버 변수를 추가하는 경우, 선택된 아이템의 인덱스가 m_nType 변수에 저장된다. 아이템의 인덱스는 0-기반으로 표현되기 때문에 첫 번째 항목을 선택하면 0이 저장되고, 두 번째 항목을 선택하면 1이 저장된다. 앞서 대화 상자를 디자인할 때 이 콤보 박스의 속성 중 Data 속성에 ‘그레이스케일;트루컬러;’라고 입력하였기 때문에 사용자가 그레이스케일을 선택하면 m_nType 값이 0이 되고, 트루컬러를 선택하면 1이 된다.

그림 5-31 콤보 박스에 대한 대한 클래스 멤버 변수 추가

지금까지 세 개의 컨트롤에 대한 변수를 추가하였는데, 이를 표 5-4에 정리하였다. 멤버 변수들의 액세스 항목은 편의상 모두 public을 사용할 것이므로 표에 표기하지 않았다. 향후 이 책에서 대화 상자 컨트롤에 대한 멤버 변수 추가가 필요한 경우, 표 5-4와 같은 형태로 표현할 것이다.

표 5-4 영상 새로 만들기 대화 상자에 추가한 변수 속성

ID

범주

변수 형식

변수 이름

최솟값

최댓값

IDC_NEW_WIDTH

Value

int

m_nWidth

1

4096

IDC_NEW_HEIGHT

Value

int

m_nHeight

1

4096

IDC_IMAGE_TYPE

Value

int

m_nType

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.