문제
그래서 나는 MFC
주로 다음에서 파생된 기반 응용 프로그램입니다. CDialog
, 일부 컨트롤 등
어떤 이유로 인해 다음을 기반으로 하는 컨테이너 클래스를 사용하여 다른 애플리케이션에서 호스팅되어야 합니다. CView
.
그래서 이것을 호스팅하는 방법이 있어야 합니다. CDialog
, 컨테이너 클래스 내부에서 다음과 같은 것을 기대합니다. CView
.
컨테이너 수업은 나에게 닫혀 있습니다.그것은 기대할 것입니다 CView
, 그러나 대화 상자 기반 응용 프로그램을 수정할 수 있습니다.
쉽게 마이그레이션할 수 있는 방법이 있나요? CDialog
을 기반으로 CView
기반으로 무엇을 봐야 하는지 알려주세요.나는 MFC에 능숙하지 않아서 질문이 모호하게 들릴 수도 있지만 그것이 내가 가진 것입니다.
어떤 도움이라도 주시면 감사하겠습니다...감사합니다.
해결책
CFormView를 사용할 수 있습니다.다이얼로그 리소스 템플릿을 지원하는 뷰입니다.
문제가 있는 코드는 CFormView에 데이터를 로드하고 커밋하는 것입니다.뷰는 일반적으로 몇 가지 힌트와 함께 UpdateAllViews를 호출하는 CDocument에 의해 제어됩니다.
OnOK, OnCancel 및 OnInitDalog에 대한 대화 상자 기능은 Doc/View 아키텍처에 맞게 변경되어야 합니다.
- OnInitDialog 코드를 OnInitialUpdate로 이동합니다. 단, SDI 애플리케이션에서는 OnInitialUpdate가 두 번 이상 호출될 수 있다는 점에 유의하세요.
- OnOK 및 OnCancel은 문서의 일부 호출 및 기능으로 해결되어야 합니다.
제휴하지 않습니다 StackOverflow