Как я могу разместить 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, подобную той, что описана на странице, но, взглянув на нее, я чувствую, что вещи похожи.