• 검색 결과가 없습니다.

0 에 포함된 내용

문서에서 Visual C++ Programming (페이지 59-200)

APS BSC

MFC 4. 0 에 포함된 내용

 Containment of OLE Controls : OLE 컨트롤

 DAO(Data Access Objects) : MFC 자체 데이터베이스 엔진  Simplified Windows 95 Common Controls :

간단한 윈도우 95 공통 컨트롤

 Windows 95 Common Dialogs : 윈도우 95 일반 다이얼로그

 Thread synchronization Objects : 스레드 동기화 오브젝트

Visual C++ Programming

(C) 1998 Sang Il Kim

6 0

CView

◐ MFC 클래스 라이브러리 마인드 맵 (Mind Map) ◑

CObject CCmdTarget

CGdiObject CDC

CScrollView CFormView CRecordView CEditView CWinApp

CDocTemplate CFrameWnd CWnd

CSingleDocTemplate CMultiDocTemplate

CClientDC CWindowDC CPaintDC CMetaFileDC

CPen CBrush CFont CBitmap CPalette CRgn

GetEditControl GetPrinterFont GetSelectedText SetPrinterFont SetTabStops

998 Sang Il Kim

MFC

 기본 클래스(CObject)

 거의 대부분의 클래스가 이 클래스로부터 파생되었다 .

 기본 클래스는 데이터를 직렬화 (Serialize) 하고 Run-time 클래스 정보를 얻어내거나 Debugging 시에 출력 진단의 역할을 담당한다 .

 윈도우 어플리케이션 구조 클래스

 MFC 에서 중요한 클래스들은 모두 포함되어 있다 .  CWinApp, CWnd, CDocument, CView 등이 있다 .

 윈도우 어플리케이션 프로그램의 뼈대 역할을 하면서 기본적인 기능을 수행한다 .

1. 윈도우 어플리케이션 클래스

 CWinApp : 윈도우 어플리케이션 오브젝트를 생성시키는 기본 클래스 . 어플리케이션 프로그램을 초기화 시키고 , 실행하거나 종료하는

Visual C++ Programming

(C) 1998 Sang Il Kim

6 2

MFC

 윈도우 어플리케이션 구조 클래스

2. 명령 관련 (Command-Related) 클래스

 CCmdTarget : 윈도우 메시지를 받고 , 응답하는 오브젝트 클래스들의 기본클래스  CCmdUI : 메뉴 또는 컨트롤바와 같은 오브젝트를 업데이트 하는데 쓰인다 .

예) 오브젝트의 상태 변경 (enable/disable, check/uncheck) 3. 도큐먼트와 뷰 클래스

 CDocTemplate : 도큐먼트 템플릿에 대한 기본 클래스  CSingleDocTemplate : SDI 도큐먼트 템플릿

 CMultiDocTemplate : MDI 도큐먼트 템플릿

 CDocument : 어플리케이션이 지정한 도큐먼트의 기본 (Base) 클래스

사용자의 도큐먼트들은 이CDocument 클래스로부터 상속받아 사용한다 .  CView : 도큐먼트 안에 있는 데이터를 뷰를 통하여 화면에 보일 수 있도록 하는 클래스 사용자의 View 들은 이 CView 클래스로부터 상속받아 사용한다 .

 CPrintInfo : 프린트 관련 정보들을 저장하고 다루는 구조체

 CCreateContext : CCreateContext 는 도큐먼트 , 뷰 , 프레임 윈도우 , 도큐먼트 템플릿에 대한 포인터를 지정하고 있는 구조체

998 Sang Il Kim

MFC

CStatic CComboBox

CObject

CCmdTarget

CMenu

CDC CGdiObject

CDialog

CEdit

CFrameWnd

CControlBar CWnd

CView CClientDC

CWindowDC CPaintDC CMetaFileDC

CPenCBrush CFont CBitmap CPalette CRgn

CFormView CScrollView CEditView

CMDIFrameWnd CMDIChildWnd CToolBar

CStatusBar CDialogBar CFileDialog CColorDialog CFontDialog

CPrintDialog

CFindReplaceDialog

CButton CListBox CSplitterWnd CVBControl

CScrollBar

Visual C++ Programming

(C) 1998 Sang Il Kim

6 4

MFC

 Visual Objects 관련 클래스 1. CWnd 클래스

 CWnd : 모든 윈도우에 대한 기본 클래스로서 기본적인 SDK 함수들을 MFC 에 맞도록 캡슐화 (Encapsulation) 시켜 놓았다 .

 CFrameWnd : 메인 프레임에 관한 윈도우 클래스

CMDIFrameWnd : MDI 프로그램에서 사용되는 메인 프레임 윈도우 클래스 CMDIChildWnd : MDI 프로그램의 자식 (Child) 윈도우 클래스

2. CView 클래스

 CView : 도큐먼트 안에 있는 데이터를 화면에 출력하는 역할을 하는 클래스  CScrollView : CView 의 기본 특성 외에 화면 스크롤이 가능한 뷰이다 .

 CFormView : 다이얼로그 리소스에 기반 하여 쉽고 빠르게 구현할 수 있는 클래스 다이얼로그 리소스 안에 출력 형태가 정의되어 있다 .

 CEditView : 텍스트 편집 , 단어 검색 , 치환 그리고 스크롤을 자체적으로 해결한 뷰 간단한 텍스트 에디터를 만드는데 편리한 클래스이다 .

998 Sang Il Kim

MFC

 Visual Objects 관련 클래스 3. 다이얼로그 (Dialog) 클래스

 CDialog : 다이얼로그 클래스들에 대한 기본 (Base) 클래스  모달 (Modal) 다이얼로그

 모드리스 (Modeless) 다이얼로그

MFC 가 제공하는 기본 다이얼로그는 모달 다이얼로그이다 .

 CDataExchange : 다이얼로그 박스에 대한 초기화와 타당성 (validation) 정보를 제공한다 .

 CFileDialog : 파일을 열거나 저장 , 디렉토리 찾아가기 등의 일을 하는 표준 다이얼로그 클래스

 CPrintDialog : 파일을 프린트하거나 프린트 옵션을 지정하는 표준 다이얼로그 클래스

 CFontDialog : 폰트를 선택 , 글자 크기와 속성을 지정하는 표준 다이얼로그 클래스

 CColorDialog : 색상을 선택하기 위한 표준 다이얼로그 클래스

 CFindReplaceDialog : 문자를 검색 , 지정한 문자열로 치환하는 표준 다이얼로그 클래스

Visual C++ Programming

(C) 1998 Sang Il Kim

6 6

MFC

 Visual Objects 관련 클래스 4. 제어 (Control) 클래스

 CStatic : 윈도우나 다이얼로그 박스의 어느 위치에 고정된 텍스트

 CButton : 다이얼로그 박스에서 흔히 볼 수 있는 체크 박스나 라디오 버튼  CEdit : 편집이 가능한 박스

 CListBox : 여러 아이템을 박스 안에 나열해서 표현 , 한 아이템을 선택하는 것이 가능한 박스

 CComboBox : 에디트 컨트롤과 리스트 박스로 구성된 박스  CControlBar : 제어바에 대한 기본 클래스

 CStatusBar : 윈도우 하단에 있는 상태바에 대한 클래스

 CScrollBar : 윈도우 우측이나 좌측에 있는 스크롤바에 대한 클래스  CToolBar : 윈도우 상단에 위치한 작은 비트맵 버튼들과 관련된 클래스  CDialogBar : 모드리스 다이얼로그 박스에 관련된 클래스

 CVBControl : 비주얼베이직에서 사용되던 VBX 를 제어할 수 있는 클래스  CSplitterWnd : 여러 개의 틀로 나뉘어질 수 있는 윈도우를 제어하는 클래스

998 Sang Il Kim

MFC

 Visual Objects 관련 클래스 5. 메뉴 (Menu) 클래스

 CMenu : 응용 프로그램에서 메뉴와 팝업 메뉴를 쉽게 구현할 수 있도록 작성된 클래스

6. 디바이스 컨텍스트 (Device-Context) 클래스  CDC : 디바이스 컨텍스트에 대한 기본 클래스

화면 출력과 프린터와 같은 비화면 출력을 다룰 수 있는 함수들이 있다.  CPaintDC : 윈도우의 화면 출력에 사용된다 . 주로 OnPaint() 에 의해 사용된다 . 이 클래스를 생성할 때 자동적으로 BeginPaint 가 실행되고 소멸될 때에 EndPaint 가 실행된다.

 CClientDC : 윈도우의 클라이언트 영역에 화면 출력한다 .  CWindowDC : 전체 윈도우에 대한 화면 출력 클래스 .

클라이언트 영역뿐만 아니라 메인 프레임 영역에도 적용 가능하다 .  CMetaFileDC : 윈도우 메타파일에 대한 클래스

◐ 메타파일 : 그래픽 이미지를 생성해 낼 수 있는 GDI 명령들이 저장된 파일 . 이미지를 BMP 나 PCX 와 같이 통째로 저장하는 것이 아니고 그래픽

Visual C++ Programming

(C) 1998 Sang Il Kim

6 8

MFC

 Visual Objects 관련 클래스

7. Drawing( 그리기 ) Object 클래스

 CGdiObject : GDI 객체들의 기본 클래스

 CBitmap : 비트맵을 생성하고 , 출력 , 변경시키기 위한 클래스  CBrush : 브러시를 선택하고 속성을 조절할 수 있는 클래스

 CFont : 폰트를 선택하고 속성을 조절할 수 있는 클래스

 CPalette : 출력장치와 응용 프로그램간 팔레트를 조절할 수 있는 클래스  CPen : 펜을 선택하고 속성을 조절할 수 있는 클래스

 CRgn : 다각형 또는 타원을 그릴 수 있도록 조절하는 클래스

998 Sang Il Kim

MFC

독립 클래스들

CObject

CException

CFile

CByteArray CWordArray CDWordArray CPtrArray CObArray CStringArray CUIntArray CPtrList COblist CStringList

CArchiveException CFileException CMemoryException

CNotSupportedException CResourceException

CUserException

CStdioFile CMemFile CMapPtrToWord

CMapPtrToPtr CMapStringToOb CMapStringToPtr CMapStringToString CMapWordToOb CMapWordToPtr

CArchive CPoint CDumpContext CSize CRuntimeClass CString CMemoryState CTime CRect CTimeSpan

Visual C++ Programming

(C) 1998 Sang Il Kim

7 0

MFC

 일반 목적 클래스와 독립적 클래스 1. 파일 처리와 관련된 클래스

 CFile : 2 진 파일들에 대한 프로그램 인터페이스를 제공한다 .

 CMemFile : 메모리를 파일처럼 쓸 수 있도록 하는 프로그램 인터페이스 제공  CStdioFile : 일반적인 텍스트 파일을 다룰 수 있는 프로그램 인터페이스 제공  CArchive : CFile 과 같이 사용되어 데이터 객체에 대한 Serialization 을 구현하는데 중요한 인터페이스 제공

2. 진단 (Diagnostics)

 CDumpContext : 메모리의 내용을 통째로 보이도록 하는 클래스

 CMemoryState : 메모리 사용에 대한 체크를 할 수 있도록 하는 클래스  CRuntimeClass : 런타임 시 어떤 객체의 클래스 관련 정보를 정확하게 아는데 사용

998 Sang Il Kim

MFC

 일반 목적 클래스와 독립적 클래스 3. 예외 처리 (Exceptions)

: 치명적인 에러 발생 시에 컴퓨터가 멈추는 일을 막는다 .  CException : 여러 가지 예외 처리들에 대한 기본 클래스  CArchiveException : 데이터 기록에 대한 예외 처리 클래스  CFileException : 파일에 관련된 예외 처리 클래스

 CMemoryException : 메모리 고장에 관한 예외 처리 클래스

 CNotSupportedException : 지원되지 않는 특성을 호출하였을 때 발생하는 예외처리  CResourceException : 윈도우 리소스를 메모리에 로딩 하는 데 실패할 경우

 CUserException : 사용자가 정의할 수 있는 클래스 . 예외 처리에 들어가기 전에 문제가 무엇인지를 윈도우에게 알려야 한다 .

4. 집합체 (Collections) 관련 클래스  배열 관련 클래스

 CByteArray : BYTE 형태의 원소들을 배열로 저장

 CDWordArray : 더블 워드 형태의 원소들을 배열로 저장

 CObArray : CObject 에서 파생된 클래스 또는 CObject 클래스 그 자체에 대한 포인터를 배열로 저장

 CPtrArray : 함수 (void) 포인터를 배열로 저장  CStringArray : CString 객체를 배열로 저장

Visual C++ Programming

(C) 1998 Sang Il Kim

7 2

MFC

 일반 목적 클래스와 독립적 클래스 4. 집합체 (Collections) 관련 클래스  링크드 리스트 관련 클래스

 COblist : CObject 에서 파생된 클래스 또는 CObject 클래스 그 자체에 대한 포인터를 링크드 리스트 형태로 저장

 CPtrList : 함수 (void) 포인터를 링크드 리스트로 저장  CStringList : CString 객체를 링크드 리스트로 저장  객체간의 맵핑 클래스

 CMapPtrToWord : 함수 (void) 포인터를 WORD 형태의 데이터로 맵핑시킨 다 .

 CMapPtrToPtr : 함수 (void) 포인터를 함수 포인터에 맵핑하는데 사용된다 .  CMapStringToOb : CString 객체를 CObject 포인터로 맵핑한다 .

 CMapStringToPtr : CString 객체를 CObject void 포인터로 맵핑한다 .  CMapStringToString : CString 객체를 CString 객체로 맵핑한다 .

 CMapWordToOb : WORD 형태의 데이터를 CObject 포인터로 맵핑한다 .  CMapWordToPtr : WORD 형태의 데이터를 함수 포인터에 맵핑한다 .

998 Sang Il Kim

MFC

 일반 목적 클래스와 독립적 클래스 5. 기타 독립 클래스

: MFC 전체에 걸쳐 광범위하게 사용되는 클래스이다 .  CPoint : 점에 관한 클래스

 CSize : 크기에 관한 클래스  CRect : 영역에 관한 클래스  CString : 문자열에 관한 클래스

 CTime : 절대적 시간을 다루는 클래스

 CTimeSpan : 상대적 시간을 다루는 클래스

Visual C++ Programming

(C) 1998 Sang Il Kim

7 4

MFC

 매크로와 전역 변수

 이 부분은 클래스에 관련된 부분은 아니지만 MFC 코드를 이해하는데 필요한 요소이기 때문에 어떤 내용들이 포함되어 있는지 알아야 한다 .  DevStudio\Vc\mfc\include\<afx.h>

1. 데이터 형 (Data Types)

 윈도우 SDK 시절부터 데이터 형을 새롭게 정의하였는데 일반적으로 많이 쓰는 데이터형에 대해서 알아야 한다 .

 MFC 에 새롭게 정의된 데이터 타입

POSITION : MFC 의 Collection 클래스에서 사용되는 원소들의 위치 지정에 사용되는 데이터형

LPCRECT : RECT 구조체에 대한 32 비트 포인터

998 Sang Il Kim

Data Types

데이터 타입 의미

BOOL BYTEWORD UINT DWORD LONG LPVOID COLORREF BSTR

LPSTR LPCSTR WNDPROC

WPARAM, LPARAM LRESULT

논리 데이터 형 (TRUE 또는 FALSE)

8 비트 unsigned 형 정수 16 비트 unsigned 형 정수 32 비트 unsigned 형 정수

32 비트 unsigned 형 정수 or 세그먼트 : 오프셋 주소 32 비트 signed 형 정수

32 비트 타입 지정이 없는 포인터

색상 (color) 을 표현하는 32 비트 데이터 형 32 비트 문자형 포인터

32 비트 문자열 포인터

32 비트 문자열 상수 포인터

윈도우 함수에 대한 32 비트 포인터

윈도우 함수 또는 Callback 함수의 인수로 넘겨주기 위한 32 비트 데이터 형

윈도우 함수 또는 Callback 함수에 결과로 되돌아온 32 비트 데이터 형

문서에서 Visual C++ Programming (페이지 59-200)

관련 문서