MFC中普通类如何获取view类的指针?
在普通类(Genericclass)中怎么得到view类的指针?我试过这样:CMainFrame*p=(CMainFrame*)AfxGetMainWnd();CView...
在普通类(Generic class)中怎么得到view类的指针?我试过这样:
CMainFrame *p=(CMainFrame*)AfxGetMainWnd();
CView *pv=p->GetActiveView();
但是结果pv是空值. 展开
CMainFrame *p=(CMainFrame*)AfxGetMainWnd();
CView *pv=p->GetActiveView();
但是结果pv是空值. 展开
5个回答
展开全部
将视类的指针保存在一个全局变量里,在普通类中加个同型指针成员变量,然后在比如按钮啊什么的控件中实例化普通类后就可以调用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
按照你的用法应该就是可以的!
是不是在这样用时,View还没有创建完成啊,所以pv才是空的。
是不是在这样用时,View还没有创建完成啊,所以pv才是空的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CMainFrame *m_pfm = (CMainFrame*)AfxGetApp()->m_pMainWnd;
...*m_pView = (...*)m_pfm->GetActiveView();
...*m_pView = (...*)m_pfm->GetActiveView();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上的分析在理,楼主理一下函数调用顺序, 别是什么PreCreateWindow或是CXXXApp,CXXXFrame的构造函数,InitInstance里,模板主窗口都没建完就准备操纵这个CView了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
少一句:AfxGetApp()
CMainFrame *p=(CMainFrame*)AfxGetApp()->m_pMainWnd;
CView *pv = (CView*)p->GetActiveView();
>>>>>>>>>>>>>>>>>>>ok
CMainFrame *p=(CMainFrame*)AfxGetApp()->m_pMainWnd;
CView *pv = (CView*)p->GetActiveView();
>>>>>>>>>>>>>>>>>>>ok
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询