관리 메뉴

ComputerVision Jack

[MFC 프로그래밍 - Chapter9] 본문

Image Processing/MFC Programming

[MFC 프로그래밍 - Chapter9]

JackYoon 2020. 2. 28. 19:48
반응형

다양한 뷰 클래스 이용하기

단일 문서 응용프로그램을 만들 때, 응용 프로그램 마법사 마지막 단계에서 다양한 View클래스를 이용할 수 있다

다양한 View 클래스 선택

리치 데이트 뷰

CRichEditView 

문서를 작성하고 편집할 수 있는 기본 클래스로 CEditViewCRichEditView가 있다.

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;

#선택한 텍스트의 글꼴을 변경하는 함수

 

예제 : 텍스트의 글꼴 변경하기

 

글꼴 변경하기
ex9-1 changeFontStyle.cpp
0.00MB

글꼴 정보를 저장할 구조체 변수 charFmt 선언 GetSelectionCharFormat() 함수로 글꼴 정보를 얻어온다.

DoModal()을 체크해서 charFmt를 텍스트에 적용한다.

프로젝트와 클래스 이름 변경하기

예제 : 프로젝트와 클래스의 이름 변경하기

대화상자 클래스를 다른 응용프로그램에 가져다 사용하려면 이름 변경해야 하는 경우가 발생한다.

프로젝트 폴터의 이름을 변경하면 아래의 모든 파일을 변경하는 프로젝트 이름으로 변경해야한다.

  • 폴더 내의 프로젝트 파일 이름
  • 리소스 스크립트 파일 이름
  • 소스파일 ProjectDlg.cpp 파일
  • 헤더파일 ProjectDlg.h

대화상자 이름 변경 적용 파일
변경된 파일을 추가한다

읽어온 파일에 대하여 #include를 수정한다.

폼 뷰

폼 뷰(Form View)

CFormView를 기본 클래스로 하여 응용 프로그램을 만들면 대화 상자 기본 응용프로그램과 같이

대화 상자를 제공한다.

메뉴를 사용할 수 있고, CProjectDoc 클래스를 제공하기 때문에 대화상자 기반 응용프로그램 보다

파일 입출력 부분에 있어서 편하다

 

예제 : 클래스 재사용하기

대화상자 기반으로 데이터를 읽어와 뷰에 뿌려보는 실습

기본적인 폼뷰 정의
데이터 입력 대화 상자
기본적 실습 과정
ex9-2 Dialog.cpp
0.01MB
ex9-2 View.cpp
0.00MB

예제 : 리스트 컨트롤에 데이터 항목 추가하기

 

데이터 항목 실습
ex9-3 View.cpp
0.01MB
ex9-3_ColumnDlg.cpp
0.01MB

반응형
Comments