新手遇到关于MFC静态切分的问题
废话不说, 直接贴代码
// WorkSplit.cpp : Defines the entry point for the application.
//
#include "stdafx.h"
// 视图类
class CMyView : public CView
{
DECLARE_DYNCREATE(CMyView)
public:
virtual void OnDraw( CDC* pDC );
};
IMPLEMENT_DYNAMIC(CMyView, CView)
void CMyView :: OnDraw(CDC* pDC )
{
pDC->TextOut(10, 10, "自己的视图类");
}
////////////////////////////////////////////////////////////////////////////////////
// 框架类
class CMyFrameWnd : public CFrameWnd
{
public:
virtual BOOL OnCreateClient( LPCREATESTRUCT lpcs, CCreateContext* pContext );
private:
CSplitterWnd split1;
CSplitterWnd split2;
};
// 用来切分窗口
BOOL CMyFrameWnd :: OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext )
{
// 1 行 2 列
split1.CreateStatic(this, 1, 2);
// 第 1 列再切分成为 2 行 1 列
split2.CreateStatic(&split1, 2, 1, WS_CHILD | WS_VISIBLE, split1.IdFromRowCol(0, 0));
split2.CreateView(0, 0, RUNTIME_CLASS(CMyView), CSize(200, 200), pContext);
split2.CreateView(1, 0, RUNTIME_CLASS(CEditView), CSize(200, 200), pContext);
split1.CreateView(0, 1, RUNTIME_CLASS(CHtmlView), CSize(200, 200), pContext);
CHtmlView* pHtmlView = (CHtmlView*)split1.GetPane(0, 1);
pHtmlView->Navigate("soccer.hupu.com");
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////////////
// 应用程序类
class CMyWinApp : public CWinApp
{
public:
virtual BOOL InitInstance();
};
CMyWinApp theApp;
BOOL CMyWinApp :: InitInstance()
{
// new
CMyFrameWnd* pFrame = new CMyFrameWnd();
// 创建
pFrame->Create(NULL, "WorkSplit");
// 显示
pFrame->ShowWindow(SW_SHOW);
// 赋值
m_pMainWnd = pFrame;
// 更新
pFrame->UpdateWindow();
// 返回
return TRUE;
}
关于 OnCreateClient 函数体里面的矩阵定义值看了一遍又一遍,就是没看出什么问题, 程序目前编译没问题, 但一运行就报错了.....求教, 求火眼金金。
// WorkSplit.cpp : Defines the entry point for the application.
//
#include "stdafx.h"
// 视图类
class CMyView : public CView
{
DECLARE_DYNCREATE(CMyView)
public:
virtual void OnDraw( CDC* pDC );
};
IMPLEMENT_DYNAMIC(CMyView, CView)
void CMyView :: OnDraw(CDC* pDC )
{
pDC->TextOut(10, 10, "自己的视图类");
}
////////////////////////////////////////////////////////////////////////////////////
// 框架类
class CMyFrameWnd : public CFrameWnd
{
public:
virtual BOOL OnCreateClient( LPCREATESTRUCT lpcs, CCreateContext* pContext );
private:
CSplitterWnd split1;
CSplitterWnd split2;
};
// 用来切分窗口
BOOL CMyFrameWnd :: OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext )
{
// 1 行 2 列
split1.CreateStatic(this, 1, 2);
// 第 1 列再切分成为 2 行 1 列
split2.CreateStatic(&split1, 2, 1, WS_CHILD | WS_VISIBLE, split1.IdFromRowCol(0, 0));
split2.CreateView(0, 0, RUNTIME_CLASS(CMyView), CSize(200, 200), pContext);
split2.CreateView(1, 0, RUNTIME_CLASS(CEditView), CSize(200, 200), pContext);
split1.CreateView(0, 1, RUNTIME_CLASS(CHtmlView), CSize(200, 200), pContext);
CHtmlView* pHtmlView = (CHtmlView*)split1.GetPane(0, 1);
pHtmlView->Navigate("soccer.hupu.com");
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////////////
// 应用程序类
class CMyWinApp : public CWinApp
{
public:
virtual BOOL InitInstance();
};
CMyWinApp theApp;
BOOL CMyWinApp :: InitInstance()
{
// new
CMyFrameWnd* pFrame = new CMyFrameWnd();
// 创建
pFrame->Create(NULL, "WorkSplit");
// 显示
pFrame->ShowWindow(SW_SHOW);
// 赋值
m_pMainWnd = pFrame;
// 更新
pFrame->UpdateWindow();
// 返回
return TRUE;
}
关于 OnCreateClient 函数体里面的矩阵定义值看了一遍又一遍,就是没看出什么问题, 程序目前编译没问题, 但一运行就报错了.....求教, 求火眼金金。
...全文
相关推荐
MFC静态切分窗口.docMFC静态切分窗口
在Microsoft Foundation Class (MFC)库中,静态切分窗口(CSplitterWnd)是一种用于在用户界面上创建可分割视图的类。
VC++ MFC 实现 MDI 静态切分窗口实例
MDI(Multiple Document Interface,多文档界面)是一种用户界面设计范式,允许在同一应用程序窗口内打开和管理多个文档窗口。这在需要同时查看或编辑多个文件的软件中非常常见,如文本编辑器、图像编辑器以及各种办公应用程序。MFC是Microsoft公司为简化Windows应用程序开发而提供的一个类库框架。它首次发布于1992年,作为Visual C++开发环境的一部分,起源于C++和Win32 API的直接封装。
MFC 静态窗口切分
在实现静态窗口切分时,我们通常会使用MFC提供的CSplitterWnd类,这个类专门用于处理窗口的分割操作。
VC++MFC实例,MDI静态切分窗口
在本文中,我们将深入探讨VC++ MFC框架下的MDI(多文档界面)静态切分窗口的实现。
MFC静态切分窗口
### MFC静态切分窗口详解#### 一、静态切分窗口的概念与基本实现**MFC静态切分窗口**是Microsoft Foundation Classes (MFC)框架中的一个重要特性,它允许在一个主窗口中创建多个子窗口区域


