더북(TheBook)

6.3.3 실숫값을 입력 받는 감마 보정 대화 상자 만들기

ImageTool 프로그램에 감마 보정 메뉴를 추가하기에 앞서 감마 값을 입력 받을 대화 상자를 만들어보자. 대화 상자의 모양은 6.2절에서 만든 밝기/명암비 조절 대화 상자와 유사한 방식으로 만들려고 한다. 감마 보정을 위해서는 정숫값이 아닌 float 값을 입력 받아야 한다는 차이점이 있지만, 이는 추후 프로그램 코드상에서 보정할 것이다.

먼저 Visual Studio 리소스 뷰에서 새 대화 상자를 하나 추가하고, 이 대화 상자의 속성을 표 6-8과 같이 입력하자.

표 6-8 감마 보정 대화 상자의 속성

속성 이름

속성 값

ID

IDD_GAMMA_CORRECTION

Caption

감마 보정

그림 6-27은 감마 보정 대화 상자의 디자인을 보여준다. 여기에 들어가는 컨트롤들의 종류와 속성들에 대해서는 표 6-9에 나타내었다. 그림과 표를 참조하여 대화 상자를 디자인하도록 하자.

그림 6-27 감마 보정 대화 상자 디자인과 탭 순서
표 6-9 감마 보정 대화 상자에서 사용되는 컨트롤 종류와 속성

탭 순서

ID

종류

속성 이름

속성 값

1

IDC_STATIC

Group Box

Caption

감마(&Gamma) 값 입력

2

IDC_GAMMA_SLIDER

Slider Control

Auto Ticks

True

Orientation

Horizontal

Point

Bottom/Right

Tick Marks

True

3

IDC_GAMMA_EDIT

Edit Control

Align Text

Center

4

IDOK

Button

Caption

확인

5

IDCANCEL

Button

Caption

취소

감마 보정 대화 상자의 디자인을 마쳤으면, 이 대화 상자에 대한 클래스를 추가하자. 감마 보정 대화 상자의 클래스 이름은 CGammaCorrectionDlg를 사용하기로 하자. 그리고 슬라이더 컨트롤과 에디트 컨트롤에 대한 멤버 변수를 추가하자. 추가할 멤버 변수의 속성은 표 6-10에 정리하였다. 멤버 변수 추가 마법사에서 IDC_GAMMA_EDIT에 해당하는 멤버 변수 m_fGamma의 값의 최솟값과 최댓값을 각각 0.20과 5.00으로 설정하자.

표 6-10 감마 보정 대화 상자에서 추가한 변수 속성

ID

범주

변수 형식

변수 이름

최솟값

최댓값

IDC_GAMMA_SLIDER

Control

CScliderCtrl

m_sliderGamma

IDC_GAMMA_EDIT

Value

float

m_fGamma

0.20

5.00

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