刚开始学mfc的文档视图,写了个最简单的程序,可是运行不了,跪求高手指教啊。

[复制链接]
查看11 | 回复4 | 2011-10-15 03:01:46 | 显示全部楼层 |阅读模式
#includeafxwin.h#include\"resource.h\"classMyDocument:publicCDocument{DECLARE_DYNCREATE(MyDocument)};classMyFrame:publicCFrameWnd{DECLARE_DYNCREATE(MyFrame)};classMyView:publicCView{public:voidOnDraw(CDC*aDC){}DECLARE_DYNCREATE(MyView)};IMPLEMENT_DYNCREATE(MyView,CView)IMPLEMENT_DYNCREATE(MyDocument,CDocument)IMPLEMENT_DYNCREATE(MyFrame,CFrameWnd)classMyApp:publicCWinApp{public:BOOLInitInstance(){CSingleDocTemplate*DocT=newCSingleDocTemplate(IDR_MENU1,RUNTIME_CLASS(MyDocument),RUNTIME_CLASS(MyFrame),RUNTIME_CLASS(MyView));AddDocTemplate(DocT);CDocument*doc=DocT-CreateNewDocument();m_pMainWnd=DocT-CreateNewFrame(doc,NULL);DocT-InitialUpdateFrame((CFrameWnd*)m_pMainWnd,doc);m_pMainWnd-ShowWindow(SW_SHOW);returntrue;}}a;貌似是到这里出问题了:CView*CFrameWnd::GetActiveView()const{ASSERT(m_pViewActive==NULL||m_pViewActive-IsKindOf(RUNTIME_CLASS(CView)));returnm_pViewActive;}
回复

使用道具 举报

千问 | 2011-10-15 03:01:46 | 显示全部楼层
你看一下提示的错误内容是什么,还有你可以用向导,不需要自己写自己写麻烦追问到CFrameWnd::GetActiveView()const里就中断了,我写程序只是为了玩,因为不喜欢“向导”那东西所以才学c的,喜欢自己操控一切的感觉,不希望电脑做太多。。。。。。
回复

使用道具 举报

千问 | 2011-10-15 03:01:46 | 显示全部楼层
这样的话,发到我邮箱里吧,我看看[email protected]
回复

使用道具 举报

千问 | 2011-10-15 03:01:46 | 显示全部楼层
应该是那里的(m_pViewActive==NULL||m_pViewActive-IsKindOf(RUNTIME_CLASS(CView)));
回复

使用道具 举报

千问 | 2011-10-15 03:01:46 | 显示全部楼层
个两个函数MainFrm中被调用,用来添加窗口。是在响应菜单栏的按钮展现主窗口之前,顺便调用了添加函数。voidCMainFrame::OnViewModalDlg(){CSettingsDialogdlg;dlg.AddPage(RUNTIME_CLASS(CMyHtmlView),_T(\"ProjectSetting\"),0);CPropPage1*pModelPage=(CPropPage1*)dlg.AddPage(RUNTIME_CLASS(CPropPage1),_T(\"Model(PropertyPage)\"),IDD_PROPERTY_PAGE1,_T(\"ProjectSetting\"));dlg.AddPage(RUNTIME_CLASS(CPropPage2),_T(\"Visibility(PropertyPage)\"),IDD_PROPERTY_PAGE2,pModelPage);dlg.AddPage(RUNTIME_CLASS(CMyFormView),_T(\"FormView\"),IDD_FORMVIEW,pModelPage);dlg.DoModal();}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行