문제

그래서 나는 MFC 주로 다음에서 파생된 기반 응용 프로그램입니다. CDialog, 일부 컨트롤 등

어떤 이유로 인해 다음을 기반으로 하는 컨테이너 클래스를 사용하여 다른 애플리케이션에서 호스팅되어야 합니다. CView.

그래서 이것을 호스팅하는 방법이 있어야 합니다. CDialog, 컨테이너 클래스 내부에서 다음과 같은 것을 기대합니다. CView.

컨테이너 수업은 나에게 닫혀 있습니다.그것은 기대할 것입니다 CView, 그러나 대화 상자 기반 응용 프로그램을 수정할 수 있습니다.

쉽게 마이그레이션할 수 있는 방법이 있나요? CDialog 을 기반으로 CView 기반으로 무엇을 봐야 하는지 알려주세요.나는 MFC에 능숙하지 않아서 질문이 모호하게 들릴 수도 있지만 그것이 내가 가진 것입니다.

어떤 도움이라도 주시면 감사하겠습니다...감사합니다.

도움이 되었습니까?

해결책

CFormView를 사용할 수 있습니다.다이얼로그 리소스 템플릿을 지원하는 뷰입니다.

문제가 있는 코드는 CFormView에 데이터를 로드하고 커밋하는 것입니다.뷰는 일반적으로 몇 가지 힌트와 함께 UpdateAllViews를 호출하는 CDocument에 의해 제어됩니다.

OnOK, OnCancel 및 OnInitDalog에 대한 대화 상자 기능은 Doc/View 아키텍처에 맞게 변경되어야 합니다.

  • OnInitDialog 코드를 OnInitialUpdate로 이동합니다. 단, SDI 애플리케이션에서는 OnInitialUpdate가 두 번 이상 호출될 수 있다는 점에 유의하세요.
  • OnOK 및 OnCancel은 문서의 일부 호출 및 기능으로 해결되어야 합니다.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top