POSITION posTemplate = NULL, posDocument = NULL, posView = NULL;
CMultiDocTemplate* pDocTemplate = NULL;
CDocument* pDoc = NULL;
CRetouchView* pView = NULL;
// 템플릿 포지션 얻기
posTemplate = theApp.GetFirstDocTemplatePosition();
{
pDocTemplate = (CMultiDocTemplate*)GetNextDocTemplate(posTemplate); // 첫번째 템플릿
// 도큐먼트 포지션얻기
posDocument = pDocTemplate->GetFirstDocPosition();
pDoc = pDocTemplate->GetNextDoc(posDocument); // 첫번째 도큐먼트
// 뷰 포지션 얻기
posView = pDoc->GetFirstViewPosition();
pView = (CRetouchView*)pDoc->GetNextView(posView); // 도큐먼트의 뷰
pView->func1(); // 뷰
}
위의 코드는 하나의 템플릿에 하나의 도큐먼트, 하나의 뷰가 있는 형태일 경우에서
APP에서 View의 포인트를 얻는 모습입니다.
만약 다음 템플릿에서도 뷰를 얻는다면 위코드 아래에 다음템플릿을 찾아가서
템플릿 -> 도큐먼트 -> 뷰 순으로 얻으면 됩니다.
pDocTemplate = (CMultiDocTemplate*)GetNextDocTemplate(posTemplate); // 첫번째 템플릿
// 도큐먼트 포지션얻기
posDocument = pDocTemplate->GetFirstDocPosition();
pDoc = pDocTemplate->GetNextDoc(posDocument); // 첫번째 도큐먼트
// 뷰 포지션 얻기
posView = pDoc->GetFirstViewPosition();
pView = (CRetouchView*)pDoc->GetNextView(posView); // 도큐먼트의 뷰
pView->func1(); // 뷰
이런 형태입니다.
지금은 정신이 몽롱해서 이정도만 적겠습니다.
나중에 다듬어 볼게요...
정말 리본UI는 MDI 중에 신기한거 같아요...아닌가 더 편해진건가...
'코드^학습 > 메모한 지식' 카테고리의 다른 글
[MFC] GetPrivateProfileString 함수 사용 (0) | 2016.05.10 |
---|---|
[MFC] MDI의 구조 (4) | 2016.05.02 |
[MFC]프로그램 실행 흐름 요약 (0) | 2016.04.05 |
[MFC]리본 UI에서 토글 버튼을 만들기 (0) | 2016.04.02 |
C++ 복사 생성자에 대해 (0) | 2016.02.02 |