c++ mfc mfc-feature-pack

c++ - ¿Cómo puedo colocar un CFFCView de MFC dentro de un CDockablePane?



mfc-feature-pack (5)

Consulte las muestras de BCGSoft para hacer esto con un cview. Los nombres de las clases son un poco diferentes, pero es más o menos lo mismo, ya que proporcionaron CDockablePane a Microsoft.

¿Cómo puedo colocar un CFFCView de MFC dentro de un CDockablePane que se introdujo en el paquete de características de VSFC MFC 2008?


Hay una muestra del paquete de características que hace esto.

Sin embargo, lo que hago es lo siguiente: hice una clase derivada de CDialog que puse en el DockablePane. Luego hago una clase derivada de CFormView y hago una instancia de esa una variable miembro del panel acoplable. Cada función que me interesa (lo más probable es UpdateView () o como se llame), la reenvío a la clase derivada de CDialog. De esa forma puedo eludir las dificultades de calzar la estructura doc / view en mi aplicación y obtener los beneficios.


En realidad, hay algunas formas de hacerlo.

Si deriva su propia clase CFameWnd y luego coloca una instancia de esa clase en el panel de CDockable, ahora puede colocar el tipo de marco que desee dentro de esa clase derivada de CFrameWnd.

El truco es asegurarse de que está haciendo la creación en el orden correcto. Si intentas llamarlo antes, tus vistas internas nunca se crearán.


No pude encontrar tales muestras en MFC Feature Pack samples.

Todos los proyectos que contienen CFormView son:

TasksPane TabControl TabbedView StatusBarDemo SetPaneSize MenuSubSet

Pero en cualquiera de los proyectos, CFormView no está integrado en CDockablePane.


Probablemente este taxi sea una pista.

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

Aunque no utiliza CDockablePane, el concepto subyacente es el mismo. No intenté que CDockablePane y CFormView funcionaran como el explicado en la página, pero al echarle un vistazo, siento que las cosas son similares.