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 스핀 컨트롤 동작 모습
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.