목록MFC 11
LuvSea
점의 좌표를 저장하기 위하여 Point 클래스를 만들어 int형 변수를 사용한다고 하자. 그런데 경우에 따라서 점의 좌표를 정수형이 아닌 실수형으로 저장해야 할 필요도 있다. 이럴 경우 데이터 형만 Double형으로 바꿔서 똑 같은 클래스를 만들면 된다. 이렇게 데이터 형만 바뀌고 형태가 같은 클래스를 여러 가지로 찍어내고 싶을 경우 템플릿을 사용하면 된다. class Point { public: // 멤버 함수 void SetPosition(int nX, int nY); void Move(int nX, int nY); virtual void Show(); protected: // 멤버 변수 int m_nX, m_nY; }; Point라는 클래스가 위와 같을 때 int형 데이터 타입을 임의의 데이터 타입..
CLyraView 클래스는 CView 클래스를 상속받은 것이다. 뷰 클래스의 영역을 설명하기 위해 예를 들겠다. 우리가 잘 쓰는 메모장에서 실제 우리가 텍스트를 쓰는 하얀 영역을 말한다. /* 메시지 매핑 */ BEGIN_MESSAGE_MAP(CDEMO1View, CView) //{{AFX_MSG_MAP(CDEMO1View) ON_WM_LBUTTONDOWN() //}}AFX_MSG_MAP // Standard printing commands ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview) END_MESSAGE_MAP() /* 생성자 함수 */ CDEMO1View:..
[출처] http://myhome.hanafos.com/~log0/mfc/mfc04.htm CMainFrame클래스 Mainfrm.cpp를 열어보면 앞의 CWinApp에서 다루어 본 BEGIN_MESSAGE_MAP가 또 나오는데, 앞의 것과 틀린것은 없다. BEGIN_MESSAGE_MAP(CMainFrame. CFrameWnd) //{{AFX_MSG_MAP(CMainFrame) // NOTE - the Classwizard will add and remove mapping macros here. // DO NOT EDIT what you see in these blocks of generated code ! ON_WM_CREATE() //}}AFX_MSG_MAP END_MESSAGE_MAP() 아래의 i..
[출처] http://myhome.hanafos.com/~log0/mfc/mfc03.htm AppWizard 단계를 거치고 나면 Lyra 프로젝트를 만들고 나면 자동적으로 CWinApp -> CLyraApp CMDIFrameWnd -> CMainFrame CDocument -> CLyraDoc CView -> CLyraView 4개의 클래스가 만들어진다. 한가지 덧붙이면 WorkSpace 창에서 클래스 탭을 클릭하면 현재 생성된 클래스들을 볼수 있다. 클래스는 *.CPP, *.h 두 파일을 모두 보여 준다. 클래스 이름을 클릭하면 *.h 파일을 볼수 있고 해당 클래스의 함수를 클릭하면 *.cpp 파일이 보여지며 클래스를 수정해도 *.cpp, *.h 파일이 함께 자동 변경된다. CLyraApp클래스 우선 ..
1.MFC App Wizard-단계 1 AppWizard-단계 1에서는 어플리케이션의 유형과 리소스(resourse)에서 사용할 언어를 설정한다. 어플리케이션 유형에는 SDI어플리케이션, MDI어플리케이션, 다이얼로그 기반 어플리케이션이 있다. 구분 내용 Single document 단일 문서를 작업할 수 있는 어플리케이션을 생성한다. 이를 SDI(Single Document Interface)어플리케이션이라고 한다. 예를 들어 메모장(Notepad.exe)이 여기에 해당된다. Multiple document 다중 문서를 작업할 수 있는 어플리케이션을 생성한다. 이를 MDI(Multiple Document Interface)어플리케이션이라고 한다. 예를 들어 시스템 편집기(Svsedit.exe)이 여기에..