2014-11-20 5 views
0

다중보기 SDI 프로젝트가 있습니다. 보기 중 하나는 CSplitterWnd 또는 CSplitterWndEx를 사용하여 분할해야합니다. 그러나 다른 뷰는 분할되지 않아야하며 분할 단추와 스크롤 막대가 없어야합니다. CSplitterWnd를 사용하여 다양한 조합을 시도하고 온라인에서 찾은 일부 클래스를 파생 시켰지만 필요한 것을 얻을 수 없습니다.MFC에서 간단한보기 하나의보기가 있습니다.

  1. 하나보기 CViewUnsplit이다

  2. 두 번째보기에는 처음에만

  3. 이 명령은 사용자가 비 분할/분할 추가하거나 제거 할 수 있습니다 CViewSplitLeft 스플리터하지 않고 : 그래서 여기 제약은 CViewRight.

Split the second view only

+0

시도한 내용 (코드)과 성공하지 못한 이유를 제시해야합니다. – user1793036

답변

0

은 다음과 같은 방식으로 작동합니다.

  1. 첫 번째는 CViewUnsplit은 간단한 SDI 응용 프로그램이 나오는 방식입니다.

  2. 두 번째 전환보기는보기를 전환하는 것만으로 쉽게 달성 할 수 있습니다. 이것은 잘 문서화되어있다. 기본 원리는 두 개의보기 http://msdn.microsoft.com/en-us/library/s199bks0.aspx

  3. 세번째 조금 까다로 여기 샘플에 나타낸다. 스플리터를 만들고 SetParent를 사용하여 CViewSplitLeft를 왼쪽 분할 자 파트에 배치하면됩니다. 오른쪽 뷰는 항상 스플리터에 머무를 수 있습니다. 다시 여기에서 스플리터는 기본 창에 숨겨져 있습니다. 다른보기로 다시 전환하면 SetParent를 다시 사용하고 CViewSplitLeft를 CMainFrame으로 이동하십시오.

항상 불필요한 모든보기를 숨기십시오. 샘플에 표시된대로보기의 ID를주의하십시오. 그렇지 않으면 크기 조정이 작동하지 않습니다.