대화상자 : 사용자와 윈도우간의 인터페이스


CDialogEx 클래스

  • 대화상자는 CDialogEx 클래스로 정의
  • 모든 윈도우 메시지 처리 가능

▲대화상자 계층도


다이얼로그 기반의 프로그램 = 애플리케이션 클래스 + 다이얼로그 클래스로 구성

 

 

클래스

기저 클래스

설 명

애플리케이션 클래스

CWinApp

프로젝트 전체를 관리하는 클래스

다이얼로그 클래스

CDialogEx

대화상자의 기능을 구현하는 실제적인 클래스

도움말 대화상자 클래스

CDialogEx

도움말 정보 클래스

 


  

▲ 대화 상자 프로그램의 동작 순서


MFC 기본 컨트롤

 

  • Static Text : 화면에 문자열 배치시 사용하는 컨트롤
  • Edit Control : 문자열을 입력하고 편집할 수 있는 컨트롤
  • Group Box : 서로 연관된 컨트롤을 시각적으로 그룹 지어 다른 컨트롤과 구분하는 용도로 사용. 그룹 박스로 묶어도 기능은 유지
  • Button Control : 마우스로 클릭하여 어떤 동작을 수행하는 용도로 사용하는 컨트롤
  • Check Box : 버튼 컨트롤의 일종으로 독립적인 옵션을 선택할 때 사용하는 컨트롤.여러 옵션 중 임의 개수를 선택시 사용.(on/off)
  • Radio Button : 상호 배타적인 옵션을 선택할 때 사용하는 컨트롤. 여러 옵션 중 하나만 선택시 사용
  • List Box : 여러 개의 선택 항목을 나열하고 선택할 수 있도록 해주는 컨트롤. 하나 이상을 선택할 수 있음
  • Combo Box : Edit Control + List Box. 

 

모달(Modal) 대화상자

 

  • 모달 대화상자 출력시 부모 윈도우에서 작업할 수 없음 (포커싱이 모달 대화상자로 됨)
  • DoModal()함수를 이용하여 출력

모덜리스(Modeless) 대화상자

 

  • 모달 대화상자와는 달리 모덜리스 대화상자는 닫지 않고도 애플리케이션 내의 다른 윈도우에서 작업할 수 있고 다시 대화상자로 돌아와 작업할 수 있는 대화상자
  • 생성 방법 : 대화상자에 대한 변수 선언 -> create()함수로 대화상자 생성 -> 생성한 대화상자 화면에 표시
    (CExDialogDlg m_Dlg; -> m_Dlg.Create(대화상자 ID,부모 윈도우의 포인터); -> m_Dlg.ShowWindow(SW_SHOW);) 

 

 

공용 대화상자

File 대화상자

  • CFileDialog 클래스로 정의
  • 파일을 선택할 수 있는 대화상자가 뜸

Font 대화상자

  • CFontDialog 클래스로 정의
  • 텍스트 기반 애플리케이션에서 사용
  • 글꼴, 크기, 문자 속성 등을 지정할 수 있는 대화상자

 

Color 대화상자


'프로그래밍 > C++' 카테고리의 다른 글

(MFC) 그래픽 객체의 사용  (0) 2016.07.09
(MFC) 메시지 처리  (0) 2016.07.09
(C++) 클래스와 객체  (0) 2016.07.09
(C++) Simple 한/영사전 예제  (0) 2016.07.09
(C++) 상속을 이용한 간단한 계산 클래스 구현  (0) 2016.07.09

+ Recent posts