본문 바로가기

전자 공학/MFC

[MFC 독학하기] 14. MFC 응용 프로그램 만들기(2)

반응형

안녕하세요. 취업한 공대누나입니다.

오늘은 지난 시간에 이어 MFC 응용 프로그램 만들기를 마저 진행해보려고 합니다.

지난 시간에는 간단한 응용 프로그램을 만들었고 오늘은 소스 코드를 분석을 하는 시간입니다.

그럼 시작해보도록 하겠습니다.


1. 소스 코드 분석(2)

 

GdnnProject.cpp 파일 먼저 살펴보도록 하겠습니다. 해당 소스 파일을 더블 클릭하여 열어줍니다.

모듈별로 중요하다고 생각되는 부분을 차례대로 보도록 하겠습니다.

 

1) 헤더파일 이후에 아래와 같은 소스가 있습니다. 이는 윈도우 메시지와 메시지 핸들러를 연결하기 위한 부분입니다.

BEGIN_MESSAGE_MAP 매크로와 END_MESSAGE_MAP() 매크로가 클래스 구현 파일에 있어야지 윈도우 메시지와 메시지 핸들러를 연결할 수 있습니다.

ON_COMMAND 매크로는 ID_APP_ABOUT 번호의 메뉴 항목과 OnAppAbout 함수를 연결합니다.

 

2) InitInstance 부분에 SetRegistryKey라는 함수가 있습니다. 이 함수를 통해 우리는 메인App의 키를 생성합니다.

생성한 키는 레지스트리의 HKEY_CURRENT_USER\Sofetware\(괄호 안 내용)에 저장이 됩니다.

3) 프레임 윈도우 객체를 생성한 후 객체의 주소값을 m_pMainWnd에 저장해줍니다.

LoadFrame() 함수는 앞에서 앞에서 생성한 프레임 윈도우 객체와 윈도우를 연결해줍니다.

ID_MAINFRAME은 MFC에서 기본적으로 제공하는 메뉴입니다.

ShowWindow() 함수는 생성된 프레임 윈도우를 화면에 표시하는 역할을 합니다.

 

4) OnAppAbout() 함수는 화면에 대화 상자를 표시하는 역할을 합니다.

 


2. 프레임 윈도우 클래스

프레임 윈도우의 기능을 정의합니다.

솔루션 탐색기에서 MainFrm.cpp를 더블 클릭하여 소스 창을 열어줍니다.

 

이제 하나씩 차근차근 다시 보도록 하겠습니다.

 

1) ON_WM_CREAT() 매크로는 WM_CREATE 메시지와 OnCreate() 함수를 연결해줍니다.

    ON_WM_SETFOCUS() 매크로는 WM_SETFOCUS 메시지와 OnSetFocus() 함수를 연결해줍니다.

    WM_SETFOCUS 메시지는 윈도우가 키보드 포커스를 가질 때 발생합니다.

 

2) 프레임 윈도우가 생성이 되면 아래의 OnCreate 함수가 자동으로 실행이됩니다.

 


 

내용이 많이 길어지는 것 같아 하나의 포스팅으로 더 나누도록 하겠습니다.

감사합니다.

반응형