怎样指向视图类对象的指针?

LSYLSY 2005-02-17 12:04:25
比如我用VC新建立了 一个新的视图类DisplayView类,然后又建立了一个类CNew
在CNew中我要 访问DisplayView类的对象,怎么才能获得指向DisplayView类对象的指针呢 ??

在线等~~谢谢了
...全文
214 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
LSYLSY 2005-03-06
  • 打赏
  • 举报
回复
呵呵,最近出了远门,才回来。。。
问题解决了,谢谢各位的帮助了。 :)
CMyMfc 2005-02-23
  • 打赏
  • 举报
回复
CNew这个类跟它是什么关系?
Flood1984 2005-02-23
  • 打赏
  • 举报
回复
我只知道视图的指针可以通过文档的成员函数得到,
文档的指针可以通过框夹的GetDocument()得到,
框夹的指针可以通过AfxGetApp()得到的指针的成员得到。
Mephisto_76 2005-02-22
  • 打赏
  • 举报
回复
其实不需要我写什么例子,你只要建立一个MFC应用程序,然后在CXXXApp的InitInstance()中设一个断点,调试进去,就能看到全部的代码,最后把关键的地方作个记录,你就能明白的。
yinenlai 2005-02-22
  • 打赏
  • 举报
回复
这两个类是什么关系呢?能不能在CNew 中聚合一个DisplayView 对象(指针),这样不就能访问了吗?
yangvxin1 2005-02-22
  • 打赏
  • 举报
回复
如果displayView是当前试图的话。可以用如下函数来写。哈哈。参考参考。
CNew * CNew::getView()
{
CFrameWnd *pFrame = (CFrameWnd *)(AfxGetApp()->m_pMainWnd);
CView *pView = pFrame->GetActiveView();
if (!pView)
return NULL;
return (CNew*)pView;
}
gnixemos 2005-02-19
  • 打赏
  • 举报
回复
doc-view结构中 doc 中可以 GetFirstViewPosition()、GetNextView() 获取所有与该doc 关联的view
如果不是这种结构,可以在CView继承类的构造函数中将自己指针或者 如果是CListView之类可以用GetListCtrl()将指针或引用保存到
全局变量里,如CWinApp对象里,这样其他类可以访问CWinApp
LSYLSY 2005-02-19
  • 打赏
  • 举报
回复
Mephisto_76((望美人如梦))

请给个例子好不?谢了。
Mephisto_76 2005-02-18
  • 打赏
  • 举报
回复
在主框架建立的时候它必然用一个数据结构来保存你的view的对象,不然没法做了。举个例子来说,在MFC中,CWinApp的派生类中会new一个CDocTemplate的派生类,然后用AddDocTemplate将其加入列表中,然后使用AfxGetApp()->GetFirstDocTemplatePosition()、GetNextDocTemplate()等方法取得CDocTemplate,对每一个CDocTemplate,可以用AddDocument()、RemoveDocument()来添加、删除文档,调用GetFirstDocPosition()、GetNextDoc()方法来取得CDocTemplate中的CDocument,对每个CDocument,用AddView()、RemoveView()方法来添加或删除其关联的视图,可以用GetFirstViewPosition()、GetNextView()来取得其中的视图。

同样在你的代码中也可以用类似的方法来取得你所需要的对象。
LSYLSY 2005-02-18
  • 打赏
  • 举报
回复
请高手进来啊~~~
LSYLSY 2005-02-18
  • 打赏
  • 举报
回复
我试试把~~如果有问题还要请教的~~~高手大哥~~~
LSYLSY 2005-02-17
  • 打赏
  • 举报
回复
CDrawDoc *CDrawView::GetDocument()中return(CDrawDoc *)的m_nDocument是哪来的?
LSYLSY 2005-02-17
  • 打赏
  • 举报
回复
我就是想找那个定义的地方啊~~~

给个例子啊~~~谢了~
Amour81 2005-02-17
  • 打赏
  • 举报
回复
那你之前的DisplayView* pDV,在哪里定义的啊?
指针就从那里取啊~
可以用限定修饰符::
LSYLSY 2005-02-17
  • 打赏
  • 举报
回复
DisplayView* pDV,这里定义的


我是要获取主框架窗口建立时调用DisplayView类是建立的对象的 指针

不要从新定义的 。
daylove 2005-02-17
  • 打赏
  • 举报
回复
DisplayView* pDV,这里定义的
LSYLSY 2005-02-17
  • 打赏
  • 举报
回复
可是pDV怎么获得呢 ?
DisplayView对象在主框架构造的时候就已经建立了,我怎么才能在其它类里获得这个对象的指针呢?
sumjohn 2005-02-17
  • 打赏
  • 举报
回复
在CNew里写一个函数
CNew::SetDVPoint(DisplayView* pDV){m_pDV = pDV;};

m_pDV 是CNew的类成员变量
daylove 2005-02-17
  • 打赏
  • 举报
回复
这两个类什么关系,
是CNew继承自DisplayView吗?

实例化一个DisplayView dv,通过dv来访问。

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧