반응형

MFC 다이얼로그(dialog)의 Static 함수에서 컨트롤 접근하는 방법을 다룹니다.




2022. 01. 23  최초작성




1. 다이얼로그 프로젝트의 파일 중 CWinApp를 상속 받은 파일 이름이 App로 끝나는 헤더 파일을 열어 다음 빨간색 코드를 추가합니다.

 

class CRtspClientApp : public CWinApp
{
public:
CRtspClientApp();

// 재정의입니다.
public:
virtual BOOL InitInstance();

// 구현입니다.
CWnd* GetDlg()
{
return m_pMainWnd;
}

DECLARE_MESSAGE_MAP()
};




2. 다이얼로그 프로젝트의 파일 중 CDialogEx를 상속 받은 파일 이름이 Dlg로 끝나는 소스코드 파일에서 다이얼로그의 컨트롤에 접근할 static 함수에 다음 코드를 추가합니다. 

 

CRtspClientApp* app = (CRtspClientApp*)AfxGetApp();
CRtspClientDlg* dlg = (CRtspClientDlg*)(app->GetDlg());



3. 이제 dlg를 사용하여 다이얼로그의 컨트롤에 접근할 수 있습니다.






참고 

https://social.msdn.microsoft.com/Forums/vstudio/en-US/100300a9-c53c-4425-aa77-5ca5ebb0cc78/how-to-get-the-main-dialog-pointer-in-mfc?forum=vcgeneral



반응형

진행해본 결과물을 기록 및 공유하는 공간입니다.
잘못된 부분이나 개선점을 알려주시면 반영하겠습니다.


소스코드 복사시 하단에 있는 앵커 광고의 왼쪽 위를 클릭하여 닫은 후 해야 합니다.


문제가 생기면 포스트와 바뀐 환경이 있나 먼저 확인해보세요.
질문을 남겨주면 가능한 빨리 답변드립니다.


제가 쓴 책도 한번 검토해보세요 ^^

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

댓글을 달아 주세요

TistoryWhaleSkin3.4">