MFC如何创建一个新的frame,并和指定的doc、view关联?
我想实现点击一个按钮,弹出一个新的frame,并且和指定的doc、view关联,不知道哪里错了,请高手赐教啊!!
分别从CDocument、CView、CFrameWndEx派生出了CMyDocument、CMyView、CMyFrame,并在WinApp::Initialize()中创建了文档模版对象:
在菜单的点击函数里面先构造了CCreateContext对象:
然后创建CMyFrame对象,并将CCreateContext对象传入
但是运行时会报错,后来发现是
我认为context对象中已经有了自己的doc、view和docTemplate信息,因而创建出来的pFrame应该就是包含着CMyDoc、CMyView的一个窗口,不知道想法是否正确?
分别从CDocument、CView、CFrameWndEx派生出了CMyDocument、CMyView、CMyFrame,并在WinApp::Initialize()中创建了文档模版对象:
CSingleDocTemplate* pdoc = CSingleDocTemplate(IDR_MYFRAME,RUNTIME_CLASS(CMyDoc),RUNTIME_CLASS(CChildFrame),RUNTIME_CLASS(CMyView))在菜单的点击函数里面先构造了CCreateContext对象:
CCreateContext* context = new CCreateContext;
context.m_currentDoc = (CMyDoc*)RUNTIME_CLASS(CMyDoc);
context.m_NewView = RUNTME_CLASS(CMyView);
context.m_docTemplate = pdoc;然后创建CMyFrame对象,并将CCreateContext对象传入
CMyFrame* pFrame = new CMyFrame;
pFrame->LoadFrame(IDR_MYFRAME,WS_OVERLAPPEDWINDOW,NULL,context);但是运行时会报错,后来发现是
context.m_currentDoc = (CMyDoc*)RUNTIME_CLASS(CMyDoc)一句有误,但是不知道如何将CMyDoc对象传入context中,求救!我认为context对象中已经有了自己的doc、view和docTemplate信息,因而创建出来的pFrame应该就是包含着CMyDoc、CMyView的一个窗口,不知道想法是否正确?
...全文
相关推荐
MFC View Doc Frame关系指针
- 框架窗口接收到消息,然后创建或打开一个新的文档实例。 - 新的文档实例被添加到文档列表中,并创建一个或多个视图。 - 视图被添加到框架窗口中,并初始化。
VC MFC 在DOC-VIEW中实现全屏幕显示
通过以上步骤,你可以成功地在VC MFC的DOC-VIEW架构下实现全屏显示。当然,具体实现可能会因项目需求和设计而有所不同,但上述方法提供了一个通用的指导。
mfc.rar_visual c
MFC是一个C++类库,它封装了Windows API,提供了面向对象的编程接口。本主题将深入探讨在MFC环境中,doc、view和frame类之间的相互调用以及关键指针的使用。
基于doc_view多文件示例(源码)
**HelloFrm.cpp**:可能是一个子窗口(Frame)类的实现,可能展示了如何创建和管理子窗口。4.
MFC应用程序中指针的使用
MFC库基于面向对象的C++,并提供了构建Windows应用程序的框架,包括视图(View)、框架(Frame)、文档(Document)、状态栏(StatusBar)和菜单栏(MenuBar)等组件。


界面
