С Visual Studio 2010 появилось подключение подключаемых окон в приложениях MDI и SDI для проектов MFC. Ура! Тем не менее, у меня возникла проблема с выбором размера CFormView для размещения доступной области в CFrame.Изменение размера CViewForm для размещения доступного окна CFrame в SDI
У меня есть приложение SDI, которое динамически создает тип представления, который пользователь выбирает, и устанавливает его в объект CFrame.
Я понимаю, что могу использовать 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 и это исправить.
Однако, когда я скрываю/закрепляю окна Output и Class или даже строку состояния в приложении на основе SDI-ленты, CFormView не изменяет размер автоматически, и я не могу найти способ найти CRect, который должен измените его размер. Как я могу получить CRect из CFrame, в котором сидит CFormView?