- Este entornos de prueba de papel vs2013!
- Por último, los resultados operativos son los siguientes:
En primer lugar, los nuevos proyectos: Nombre del proyecto: MySplitterDlg, otra a mantener la opción por defecto.
En segundo lugar, crear una clase de diálogo
Cada tipo de registro CMyFormView0 y CMyFormView1 , grupo de la categoría seleccionada de la CDialog , debe elegir el CFormView .
Asistente de clase -> Añadir (categoría MFC) Clase:
En tercer lugar, la función de aumento WM_CREATE respuesta del mensaje OnCreate
Por "Guía de Clase" "CMySpliterDlgDlg (no seleccionar una clase diferente) agregar la clase función de mensaje de respuesta WM_CREATE:
En cuarto lugar, editar OnCreate
Después de añadir una función de mensajes OnCreate, editar su contenido de la siguiente manera:
int CMySplitterDlgDlg :: OnCreate (LPCREATESTRUCT lpCreateStruct)
{
si (CDialogEx :: OnCreate (lpCreateStruct) == -1)
return -1;
// TODO:在此添加您专用的创建代码
// Debido a que el CframeWnd necesita una clase de ventana, vamos a crear una nueva. He copiado la muestra de Ayuda de MSDN.
// Cuando se utiliza en su proyecto, es posible mantener CS_VREDRAW y CS_HREDRAW y luego tirar los otros tres parámetros.
//需要注册窗口类
CString strMyClass = AfxRegisterWndClass (CS_VREDRAW | CS_HREDRAW,
:: LoadCursor (NULL, IDC_ARROW), (HBRUSH) :: GetStockObject (WHITE_BRUSH),
:: LoadIcon (NULL, IDI_APPLICATION));
La ventana con la Crear Frame // "el presente" la matriz, como
m_pMyFrame nueva nueva = la CFrameWnd;
m_pMyFrame-> Crear (strMyClass, _T ( ""), el WS_CHILD, CRect (0,0,300,300), el presente);
m_pMyFrame-> el ShowWindow (SW_SHOW) ;
// y el último, con el divisor de crear el marco la matriz, como
m_cSplitter.CreateStatic (m_pMyFrame ,. 1, 2); // segmentación de la ventana de vista en el fotograma 1 × 2, la segunda fila es
m_cSplitter.CreateView (0, 0, RUNTIME_CLASS (CMyFormView0), CSIZE (100100), NULL); // una primera fila
m_cSplitter.CreateView (0,1, RUNTIME_CLASS (CMyFormView1) , CSIZE (100100), NULL); // primera fila dos
de retorno 0;
}
En quinto lugar, añadir la variable CFrameWnd
Las variables utilizadas en el anterior m_pMyFrame procedimiento, es necesario añadir la clase CMySplitterDlgDlg
pública:
CFrameWnd * m_pMyFrame;
Seis, con el fin de evitar pérdidas de memoria, añadir OnDestroy () en
si (m_pMyFrame) m_pMyFrame borrado;
Siete, añadir cabeceras de diálogo
Además, el procedimiento anterior también se utiliza la clase CMyFormView0 3.3 Resumen y creado CMyFormView1, es necesario añadir que en el MySplitterDlgDlg.cpp archivo de cabecera.
# include "MyFormView0.h"
# include "MyFormView1.h"
Ocho, añadir CSplitterWnd variables
Cuando el uso de la ventana se divide en clases CSplitterWnd (véase más arriba la función OnCreate), es necesario añadir la clase CMySplitterDlgDlg
CSplitterWnd m_cSplitter;
Nueve, editor de noticias OnSize
función de mensaje añadido después OnSize, la edición de su contenido de la siguiente manera:
:: CMySplitterDlgDlg el vacío OnSize (UINT nTipo, int CX, CY int)
{
CDialogEx la OnSize :: (nTipo, CX, CY);
// el TODO: código del controlador de mensaje añadir aquí
CRect CRect;
la GetWindowRect (y CRect);
mientras que ScreenToClient ( CRect y);
m_pMyFrame-> el MoveWindow (y CRect);
m_pMyFrame-> el ShowWindow (SW_SHOW);
}
Diez, ejecute el programa