我在CMyApp类的一个采单响应事件中有下面这段代码:(其中NewFrame和NewView是自定义的子框架类和视图类)
NewFrame *pFrm;
pFrm = new NewFrame;
CCreateContext context;
context.m_pNewViewClass = RUNTIME_CLASS(NewView);
pFrm->LoadFrame(IDR_MYTYPE,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW,NULL,&context);
pFrm->InitialUpdateFrame(NULL,TRUE);
CMainFrame *pFrame=(CMainFrame*)AfxGetApp()->m_pMainWnd;
NewView *pView=(NewView*)(pFrame->GetActiveView());最后一句是取自定义的那个view类的指针,但是取到的是空指针,难道没有Active View?如果有的话怎么取?
NewFrame *pFrm;
pFrm = new NewFrame;
CCreateContext context;
context.m_pNewViewClass = RUNTIME_CLASS(NewView);
pFrm->LoadFrame(IDR_MYTYPE,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW,NULL,&context);
pFrm->InitialUpdateFrame(NULL,TRUE);
CMainFrame *pFrame=(CMainFrame*)AfxGetApp()->m_pMainWnd;
NewView *pView=(NewView*)(pFrame->GetActiveView());最后一句是取自定义的那个view类的指针,但是取到的是空指针,难道没有Active View?如果有的话怎么取?
解决方案 »
- 弱弱的问,COM如何在网页内容更新后得到通知?
- HTTP包到HTML?
- VC中执行UPDATE无效的问题(SQL Server 2000)
- 请教:当读串口缓冲区的时候,我能不能只读缓冲区的前面几个字符,谢谢!
- P2P代码
- 痛苦啊,折腾2个月了,愿散1000分求助,USB转并口线的并口操作~~
- 请问一下,一个简单的消息发送怎么不响应呀
- 在VC单文档中嵌入EXCEL,如何获得当前单元格的行、列号?比如选了“B3”这个单元格,在程序中怎样获得它得行:3 ;列:2(B) 。我这么试
- 我自己写的类(不继承任何MFC类)里如何使用timer?
- 为什么从自己建的类中得到框架生成的文档类非要要指针不可?
- 关于定时器遇到一个奇怪的问题,大家进来看看。
- 怎样在IE浏览器中显示VB-ActiveX dll的窗体?
明显取的不是你刚刚创建的FRAMEVIEW还没创建出来呢,当然取不到。方法不对,建议说出你的目的。
if (pMainFrame != NULL)
{
CXXView* pIFView = dynamic_cast<CXXView*>(pMainFrame->GetActiveChildView());
}////////
CView* CMainFrame::GetActiveChildView()
{
CXXChildFrame* pIFChildFrame = dynamic_cast<CXXChildFrame*>(MDIGetActive());
if (pIFChildFrame != NULL)
return pIFChildFrame->GetActiveView(); return NULL;
}
//////////
对于MDI来说你的View是可以通过ChildFrame获得的