반응형

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



반응형

문제 발생시 지나치지 마시고 댓글 남겨주시면 가능한 빨리 답장드립니다.

도움이 되셨다면 토스아이디로 후원해주세요.
https://toss.me/momo2024


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

+ Recent posts