2012-03-29 3 views
0

Visual Studio 2010에서는 MFC 프로젝트의 MDI 및 SDI 응용 프로그램에 도킹 가능한 창을 포함 시켰습니다. 예! 그러나 CFrame에서 사용 가능한 영역에 맞게 CFormView의 크기를 조정하는 데 문제가 있습니다.SDI에서 CFrame의 사용 가능한 창에 맞게 CViewForm 크기 조정

나는 사용자가 선택한 뷰 유형을 동적으로 생성하고이를 CFrame 객체로 설정하는 SDI 애플리케이션을 보유하고 있습니다.

나는 MDI를 대신 사용할 수 있다는 것을 알고 있지만, 여러 문서가 더 복잡해지기 때문에 멀리하고 싶습니다.

새로운 뷰를 생성하고 잘 작동 보여,하지만 난 경우 :

CView* pOldActiveView = GetActiveView(); 
CView* pNewActiveView = (CView*)new CMyView; 
CRect r; 
pOldActiveView->GetWindowRect(&r); 
pNewActiveView->Create(NULL, NULL, 0, w, this, nForm, &context); 
pNewActiveView->OnInitialUpdate(); 

이 : 그때마다 나는 새로운보기를 열 창은 최대 8 개 개의 픽셀을 이동합니다. 나는 CRect 조정을 시도하고 그것을 해결하기 위해 노력했습니다.

그러나 출력 및 클래스 창 또는 SDI 리본 기반 응용 프로그램의 상태 표시 줄을 숨기거나 고정하면 CformView는 자동으로 크기가 조정되지 않으며 필요한 CRect를 찾는 방법을 찾을 수 없습니다 크기를 조정하십시오. CFormView가 앉아있는 CFrame에서 CRect를 어떻게 얻을 수 있습니까?

답변

0

Nevermind. 응답이 없으면 나는 다른 길로 가기로 결심했다. 메인 프레임에서 동적으로보기를 전환하는 대신이 링크를 발견하고 문서에보기를 추가하고 아무 문제없이 마음대로 전환했습니다 (mfc 크기 조정 처리) http://msdn.microsoft.com/en-us/library/s199bks0(v=vs.80).aspx

관련 문제