ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SDI 구조 및 객체 생성 순서
    MFC 2025. 4. 6. 15:51

    MFC에선 main함수가 존재하지 않는다. 대신 AfxWinMain함수가 시작한다.

     

    기본 구조 및 객체 생성 순서

    1. AfxWinMain()

    2. CWinApp (Process, Thread) (응용 프로그램에 해당)

         - Init/ExitInstance(), Run()

         - theApp (전역 변수)

    3. CDocument (Data)

        - 데이터(혹은 파일)

    4. CFrameWnd (GUI - Frame)

    5. CView (GUI - View)

     

    InitInstance -> Run -> ExitInstance

    각 클래스 접근 방법

    CWinApp    <- 응용 program 자체

     - theApp, AfxGetApp()

    CDocument     

     - CFrameWnd::GetActiveDocument()

    CFrameWnd

     - AfxGetMainWnd()

    CView          -> 메뉴 또는 화면

     - CFrameWnd::GetActiveView()

     

    기능을 구현할 때 위 4개의 클래스중 하나를 선택해서 거기에 넣는다고 생각하면 된다.

    메뉴가 화면과 직접적인 연관이 있으면 View, 그게아니라면 FrameWnd멤버로 넣는것이 좋다.

    Afx함수는 전역함수이기 때문에 App, MainFrame 같은 포인터를 리턴해준다.

    Document-View 구조에서 하나의 Document가 여러 개의 View와 연결될 수 있다.

    그 View목록은 내부적으로 연결 리스트로 관리된다.

    'MFC' 카테고리의 다른 글

    메시지 맵과 핸들러  (0) 2025.04.07
    프레임워크 흐름 분석  (0) 2025.04.07
    SDI 예제 생성  (0) 2025.04.06
    CWnd 클래스와 윈도우 속성 및 윈도우 관계  (0) 2025.04.06
    솔루션, 프로젝트, 리소스  (0) 2025.04.04
Designed by Tistory.