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( ; ; )]

     

    출처: <https://frog3147.tistory.com/entry/%EC%9E%84%EC%9D%98%EC%9D%98-%ED%81%B4%EB%9E%98%EC%8A%A4%EC%97%90%EC%84%9C-%EB%A9%94%EC%9D%B8-%EB%8B%A4%EC%9D%B4%EC%96%BC%EB%A1%9C%EA%B7%B8%EC%9D%98-%ED%8F%AC%EC%9D%B8%ED%84%B0%EB%A5%BC-%EC%96%BB%EC%96%B4%EC%98%A4%EB%8A%94-%EB%B0%A9%EB%B2%95>

    728x90
    반응형
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기