新手遇到关于MFC静态切分的问题
蓝兔先生 2014-05-05 11:17:56 废话不说, 直接贴代码
// 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 函数体里面的矩阵定义值看了一遍又一遍,就是没看出什么问题, 程序目前编译没问题, 但一运行就报错了.....求教, 求火眼金金。