대화상자 : 사용자와 윈도우간의 인터페이스
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 대화상자
- CColorDialog 클래스로 정의
- 색상을 선택하게 하는 대화상자
[출처] (MFC) 대화상자|작성자 길가다주은노트북
'프로그래밍 > 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 |