더북(TheBook)

8.4.3 잡음 추가 대화 상자 만들기

ImageTool 프로그램에 가우시안 잡음과 소금&후추 잡음 생성 기능을 추가하기에 앞서 먼저 잡음의 종류와 잡음의 양을 입력할 수 있는 잡음 추가 대화 상자를 만들도록 하자. 잡음 추가 대화 상자는 라디오 버튼을 사용하여 잡음의 종류를 선택하고, 에디트 컨트롤을 사용하여 잡음의 양을 입력 받을 것이다.

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

표 8-8 잡음 추가 대화 상자의 속성

속성 이름

속성 값

아이디(ID)

IDD_ADD_NOISE

캡션

잡음 추가

그림 8-26은 잡음 추가 대화 상자의 디자인과 탭 순서를 보여준다. 컨트롤들이 매우 밀집하여 배치되어 있어서 순수한 디자인 화면과 탭 순서를 표시한 디자인 화면을 각각 나타내었다. 잡음 추가 대화 상자에 들어가는 컨트롤들의 종류와 속성들에 대해서는 표 8-9에 나타내었다. 그림과 표를 같이 참조하여 대화 상자를 디자인하도록 하자.

그림 8-26 잡음 추가 대화 상자 디자인과 탭 순서
표 8-9 잡음 추가 대화 상자의 컨트롤 속성

탭 순서

아이디

종류

속성 이름

속성 값

1

IDC_STATIC

Group Box

Caption

잡음의 종류

2

IDC_NOISE_RADIO1

Radio Button

Caption

가우시안 (&Gaussian)

Group

True

3

IDC_NOISE_RADIO2

Radio Button

Caption

소금 && 후추 (&Salt && Pepper)

Group

False

4

IDC_STATIC

Static Text

Caption

잡음의 양(&A):

5

IDC_NOISE_AMOUNT

Edit Control

Align Text

Center

6

IDC_SPIN_AMOUNT

Spin Control

Auto Buddy

True

Set Buddy Integer

True

Alignment

Right Align

7

IDC_STATIC

Static Text

Caption

%

8

IDOK

Button

Caption

확인

9

IDCANCEL

Button

Caption

취소

잡음 추가 대화 상자 디자인에서 특이한 점은 스핀 컨트롤의 위치와 탭 순서이다. 보통 스핀 컨트롤은 독립적으로 사용되지 않고 에디트 컨트롤과 연계하여 사용된다. 그렇기 때문에 스핀 컨트롤의 탭 순서는 해당 스핀 컨트롤이 함께 사용될 에디트 컨트롤 다음 번호로 지정해야 한다. 그리고 스핀 컨트롤의 속성 중 Auto Buddy를 True로 설정하면 프로그램 동작 시 에디트 컨트롤 안에 스핀 컨트롤이 포함되어 나타난다. 이를 확인해보기 위해 대화 상자 디자인 화면에서 [서식] > [대화 상자 테스트] 메뉴를 실행해보자. 그러면 그림 8-27과 같이 테스트를 위한 잡음 추가 대화 상자가 화면에 나타날 것이며, 스핀 컨트롤이 에디트 컨트롤 안에 깔끔하게 들어가 있는 것을 확인할 수 있다. 이처럼 스핀 컨트롤은 실행 시 에디트 컨트롤 안으로 들어가버리기 때문에 대화 상자 디자인 시에는 스핀 컨트롤을 아무 위치에 배치하여도 상관이 없다. 보통 연관된 에디트 컨트롤 주변 빈 곳에 적절히 위치시키고, 탭 번호만 에디트 컨트롤 다음 번호로 지정하면 된다.

그림 8-27 스핀 컨트롤 동작 모습
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.