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