728x90
반응형
다이얼로그 기반의 프로젝트로 작업을 하다보면 사용자가 임의로 여러가지 클래스들을 만들어 사용하는 경우가 있다. 제너릭으로 만들든 CView, CFormView등의 MFC에 정의되있는 클래스의 상속을 받아서 만들든 다양한 형태의 클래스가 만들어 질 것이다. 보통 사용자가 만든 클래스들은 메인 다이얼로그 클래스에 헤더파일을 인클루드하고 인스턴스로 만들어져 사용이 될텐데 경우에 따라 사용자가 만든 클래스에서 메인 다이얼로그의 변수나 함수들을 사용해야 할 경우가 생기게 된다. 이런 경우 메인 다이얼로그의 포인터를 얻는 방법에는 다음의 두 가지가 있다.
메인 다이얼로그 클래스 : CMainDlg
임의로 생성된 클래스 : CChild
라고 했을 때,
1. CMainDlg.h를 인클루드하고 다음과 같이 멤버변수로 등록하여 사용
CMainDlg* pMainDlg;
2. 아래와 같이 AfxGetMainWnd()나 GetParent()를 이용하여 포인터를 가져와서 사용.
CMainDlg* pMainDlg = (CMainDlg*)::AfxGetMainWnd();
또는
CMainDlg* pMainDlg = (CMainDlg*)GetParent();
위의 방법들을 사용하면 메인 다이얼로그 클래스의 포인터를 얻을 수 있다.
출처: https://frog3147.tistory.com/entry/임의의-클래스에서-메인-다이얼로그의-포인터를-얻어오는-방법 [for( ; ; )]
728x90
반응형
'배움 - 차근차근 기록하자 > [개발] MFC 🔴' 카테고리의 다른 글
[MFC] 현재 실행 함수 이름 얻기 (2) | 2021.05.12 |
---|---|
[MFC] 윈도우 스타일 변경후 화면 안뜰때 (0) | 2021.05.12 |
[MFC] Domodal Dialog 강제종료 (0) | 2021.05.12 |
[MFC] ESC / ENTER 막기 (0) | 2021.05.12 |
최근댓글