Как я могу разместить MFC CFormView внутри CDockablePane?

Как я могу поместить MFC CFormView в CDockablePane, который был представлен в VS 2008 MFC Feature Pack?

5 ответов

Я не смог найти такие образцы в образцах MFC Feature Pack.

Все проекты, содержащие CFormView:

TasksPane TabControl TabbedView StatusBarDemo SetPaneSize MenuSubSet

Но ни в одном из проектов CFormView не встроен в CDockablePane.

Проверьте Образцы BCGSoft для того, чтобы сделать это с cview. Имена классов немного отличаются, но это более или менее то же самое, поскольку они предоставили CDockablePane для Microsoft.

Существует пример пакета функций, который делает это.

Однако я делаю следующее: я создал класс, производный от CDialog, и поместил его в DockablePane. Затем я делаю класс, производный от CFormView, и делаю его экземпляр переменной-членом закрепляемой панели. Каждую интересующую меня функцию (скорее всего, UpdateView() или как там она вызывается) я пересылаю в производный от CDialog класс. Таким образом, я могу обойти трудности, связанные с добавлением структуры doc/view в мое приложение, и при этом получить преимущества.

На самом деле есть несколько способов сделать это.

Если вы получили свой собственный класс CFameWnd, а затем поместили экземпляр этого класса в панель CDockable, теперь вы можете поместить любой тип инфраструктуры, который вам нужен, в этот производный класс CFrameWnd.

Хитрость заключается в том, чтобы убедиться, что вы делаете создание в правильном порядке. Если вы попытаетесь вызвать его раньше, ваши внутренние представления никогда не будут созданы.

Вероятно, эта кабина будет ключом.

http://www.codeproject.com/KB/toolbars/sizecbar.aspx

Хотя он и не использует CDockablePane, концепция, стоящая за ним, та же. Я еще не пробовал работу CDockablePane и CFormView, подобную той, что описана на странице, но, взглянув на нее, я чувствую, что вещи похожи.

Другие вопросы по тегам