Red de conocimiento informático - Problemas con los teléfonos móviles - Problema de vista múltiple de un solo documento de VC

Problema de vista múltiple de un solo documento de VC

En VC6.0, esto requiere el uso de la clase CSplitterWnd, que parece un tipo especial de ventana de marco donde cada ventana está llena de vistas iguales o diferentes. Cuando la ventana está dividida, el usuario puede mover la barra de separación con el mouse para ajustar el tamaño relativo de la ventana. El constructor de CSplitterWnd consta de las siguientes tres funciones principales.

BOOL Create(CWnd* pParentWnd, int nMaxRows, int nMaxCols, SIZE sizeMin, CCreateContext* pContext, DWORD dwStyle, UINT nID); Significado del parámetro: pParentWnd La ventana principal de la ventana de sector. nMaxRows, nMaxCols es el número máximo de columnas y filas creadas. BOOL CreateStatic(CWnd* pParentWnd, int nRows, int nCols, DWORD dwStyle, UINT nID) Función: Se utiliza para crear una ventana dividida. El significado de los parámetros es el mismo que el anterior. BOOL CreateView(int row, int col, CruntimeClass* pViewClass, TAMAÑO sizeinit, CcreateContext* pContext Función: Rellenar la vista de la cuadrícula: Rellenar la vista de la cuadrícula de la ventana de recorte estática). Al asociar una vista con una ventana dividida, primero debe crear la ventana dividida.

Significado del parámetro: Igual que el anterior.

Se puede ver en el programa fuente CSplitterWnd que ya sea que se use Create dinámico o CreateStatic estático, se llamará a una función protegida CreateCommon en la llamada de función. Como se puede ver en el siguiente código clave en CreateCommon. función, La esencia de crear CSplitterWnd es crear una nueva ventana. La esencia de CSplitterWnd es crear una serie de ventanas secundarias MDI.

DWORD dwCreateStyle = dwStyle amp; ~(WS_HSCROLL|WS_VSCROLL); if (afxData.bWin4) dwCreateStyle amp = ~WS_BORDER; //crear con la misma clase wnd que MDI-Frame (sin borrar bkgnd; ) if (!CreateEx(0, _afxWndMDIFrame, NULL, dwCreateStyle, 0, 0, 0, 0, 0, pParentWnd-gt; m_hWnd, (HMENU)nID, NULL)) return FALSE //Crear invisible.