[MFC 프로그래밍 - Chapter9]
다양한 뷰 클래스 이용하기
단일 문서 응용프로그램을 만들 때, 응용 프로그램 마법사 마지막 단계에서 다양한 View클래스를 이용할 수 있다
리치 데이트 뷰
CRichEditView
문서를 작성하고 편집할 수 있는 기본 클래스로 CEditView와 CRichEditView가 있다.
CEditView는 글꼴 변경 불가하고 단순히 텍스만 입력하여 텍스트 파일을 만들 수 있는 클래스
CRichEditView는 글꼴도 변경 가능한 고급 기능
CFontDialog 클래스
글꼴을 변경할 수 있는 대화상자 클래스 글꼴 정보와 변경이 가능하다.
글꼴을 대화 상자를 화면에 나타내기 위해 DoModal() 함수를 호출하고 글꼴 선택하고 버튼을 입력하면
버튼에 관련된 ID값이 반환된다.
대화상자 글꼴 정보 제공하는 구조체
- LOGFONT
- CHARFORMAT
CFontDialog::GetCharFormat( CHARFORMAT& cf ) const 함수
#글꼴 정보를 한번에 얻어오는 함수
CFontDialog::GetColor() 함수
#선택한 글꼴의 색상을 얻어오는 함수
CFontDialog::GetFaceName()
#선택한 글꼴 이름을 얻어오는 함수
CFontDialog::GetSize()
#선택한 글꼴의 포인트 크기를 얻어온다.
CFontDialog::GetStyleName()
#선택한 글꼴 스타일의 이름을 얻어온다
CFontDialog::IsBold()
#선택한 글꼴이 굵은지 알려준다.
CFontDialog::IsItalic()
#선택한 글꼴이 이탤릭체인지 알려준다
CFontDialog::IsStrikeOut()
#선택한 글꼴에 취소선이 있는지 알려준다
CFontDialog::IsUnderline()
#선택한 글꼴에 밑줄이 있는지 알려준다.
DWORD GetSelectionCharFormat( CHARFORMAT& cf) const;
#리치 에디트 컨트롤에서 글꼴 정보를(CHARFORMAT 구조체 변수 cf) 얻어오는데 필요한 함수
BOOL SetSelectionCharFormat( CHARFORMAT& cf) const;
#선택한 텍스트의 글꼴을 변경하는 함수
예제 : 텍스트의 글꼴 변경하기
글꼴 정보를 저장할 구조체 변수 charFmt 선언 GetSelectionCharFormat() 함수로 글꼴 정보를 얻어온다.
DoModal()을 체크해서 charFmt를 텍스트에 적용한다.
프로젝트와 클래스 이름 변경하기
예제 : 프로젝트와 클래스의 이름 변경하기
대화상자 클래스를 다른 응용프로그램에 가져다 사용하려면 이름 변경해야 하는 경우가 발생한다.
프로젝트 폴터의 이름을 변경하면 아래의 모든 파일을 변경하는 프로젝트 이름으로 변경해야한다.
- 폴더 내의 프로젝트 파일 이름
- 리소스 스크립트 파일 이름
- 소스파일 ProjectDlg.cpp 파일
- 헤더파일 ProjectDlg.h
읽어온 파일에 대하여 #include를 수정한다.
폼 뷰
폼 뷰(Form View)
CFormView를 기본 클래스로 하여 응용 프로그램을 만들면 대화 상자 기본 응용프로그램과 같이
대화 상자를 제공한다.
메뉴를 사용할 수 있고, CProjectDoc 클래스를 제공하기 때문에 대화상자 기반 응용프로그램 보다
파일 입출력 부분에 있어서 편하다
예제 : 클래스 재사용하기
대화상자 기반으로 데이터를 읽어와 뷰에 뿌려보는 실습
예제 : 리스트 컨트롤에 데이터 항목 추가하기