STUDY/C++ & MFC

[MFC] CMainFrame* pMain = (CMainFrame*)AfxGetMainWnd();

쑥말고인절미 2024. 8. 11. 00:41

간단 설명

  • MFC에서 메인 윈도우(CMainFrame 클래스)를 가져와서 pMain이라는 포인터에 저장하는 코드
  • MFC 애플리케이션에서 메인 프레임 윈도우에 대한 포인터를 얻고, 이를 통해 메인 프레임 윈도우의 기능이나 상태를 제어하기 위해 사용된다.
  • MFC 애플리케이션에서 메인 윈도우에 접근하고자 할 때 매우 유용한 패턴이다.
CMainFrame* pMain = (CMainFrame*)AfxGetMainWnd();

각 구문의 의미

  • AfxGetMainWnd()
    • 해당 함수는 현재 애플리케이션의 메인 윈도우에 대한 포인터를 반환한다.
    • 이 함수는 MFC의 CWnd* 타입의 포인터를 반환하며, MFC 애플리케이션에서 메인 윈도우를 참조하는 데 자주 사용한다.
  • CMainFrame*
    • MFC 애플리케이션에서 메인 프레임 윈도우를 나타내는 클래스
    • 메인 프레인 윈도우는 일반적으로 메뉴, 툴바, 상태 표시줄 등을 포함하는 창이다.
    • MFC의 표준 애플리케이션에서는 CMainFrame 클래스가 CFrameWnd 클래스를 상속받아 구현된다.
  • (CMainFrame*)AfxGetMainWnd()
    • AfxGetMainWnd() 함수는 CWnd* 타입의 포인터를 반환하므로, 이 포인터를 CMainFrame* 타입으로 형변환하여 CMainFrame 클래스의 멤버 함수나 속성에 접근할 수 있도록 한다.
  • CMainFrame* pMain;
    • pMain은 CMainFrame* 타입의 포인터 변수
    • 메인 프레임 윈도우를 가리킨다.
    • 이 포인터를 통해 메인 프레임 윈도우의 멤버 함수에 접근할 수 있다.