Fundamental Notes/MFC 21

MFC : 직렬화

2. 직렬화(연속화) 프로그램이 만든 데이터를 보관하는 것을 흔히 저장(Save)이라고 하고 보관한 데이터를 다시 불러오는 작업을 복구(Load)라고 하는데, 비주얼C++ 에서는 이 두 과정을 합쳐서 직렬화(연속화(Serialization))라고 표현합니다. 데이터를 저장하고 불러오는 직렬화 작업은 많은 절차를 거쳐야만 합니다. 파일 이름을 입력 받아야 하고 입력 받은 파일을 열고 데이터를 읽어서 메모리에 넣어야 하는 기본 과정 외에도 수 많은 중간 과정들이 필요합니다. 위의 프로젝트에서 Doc 클래스에 가면 아래와 같은 코드가 있을 것입니다. void CFileTestDoc::Serialize(CArchive& ar) { if (ar.IsStoring()) { // TODO: 여기에저장코드를추가합니다...

MFC : 색상선택 예제-메뉴,컨텍스트메뉴,시스템메뉴,툴바

ChildView.cpp // ChildView.cpp : implementation of the CChildView class // #include "stdafx.h" #include "Simple2.h" #include "ChildView.h" #include "MainFrm.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CChildView CChildView::CChildView() { m_color = RGB(255, 0, 0..

MFC : 최소화 상태에서 복원되어 윈도우가 다시 그려져도 그린 원이 모두 나타나도록

InvalidateRect()? InvalidateRect()는 윈도우의 클라이언트 영역 중에서 일부분을 무효화 시키는 것입니다. 이때, 첫번째 인자는 어떤 윈도우인지를 가리키는 윈도우 핸들이고, 두번째 인자는 무효과시킬 사각 영역 좌표입니다. 이게 NULL이면 클라이언트 영역 전체라는 것이구요. 그리고 세번째 인자는 그 무효화 영역이 지워지고 다시 그려져야 하는지를 설정합니다. 만약 TRUE이면, 그 윈도우에게는 WM_ERASEBKGND 메시지가 한번 날려지고, WM_PAINT 메시지가 날라갑니다. 만약 FALSE이면 WM_PAINT 메시지만 날라갑니다. 위의 답변에 보시면 InvalidateRect()가 WM_PAINT 메시지를 발생시키지 않는다고 했는데요, WM_PAINT 메시지를 발생 시킵니다. ..

MFC : 오늘 수업 전반

// 사각형 두개를 만들고 // 그 사각형 두개에 대한 인터섹션과 유니언에 대한 사각형을 구하고 출력하라 // quiz.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "afxtempl.h" #include "quiz.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // The one and only application obj..

MFC : CTime, CTimeSpan

// 사각형 두개를 만들고 // 그 사각형 두개에 대한 인터섹션과 유니언에 대한 사각형을 구하고 출력하라 // quiz.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "quiz.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // The one and only application object CWinApp theApp; us..

MFC : CRect 객체 생성과 다루기

// 2009. 9. 15 WJY //MFC : MakeLower() + MakeReverse() + CString + CPoint + CRect // Console.cpp : Defines the entry point for the console application. //콘솔이기때문에 메시지 구동구조가 없다. #include "stdafx.h" #include "Console.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // The ..

MFC : CPoint 객체 생성과 다루기

// 2009. 9. 15 WJY //MFC : MakeLower() + MakeReverse() + CString + CPoint // Console.cpp : Defines the entry point for the console application. //콘솔이기때문에 메시지 구동구조가 없다. #include "stdafx.h" #include "Console.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // The one and ..