新手关于MFC的问题

ziamhitler 2008-11-06 04:20:41
环境:vs2005
我建了一个MFC的单文档工程,现在我要在主界面显示一些信息。我在CMyView类中的OnDraw方法中来画出这些信息。这些信息是CMainFrame类的成员变量。
现在的问题是,我怎么才能把这些信息从CMainFrame传到CMyView中去?
想了用全局变量,但是试了一下,没成功。
希望知道的朋友说一下,谢谢!
...全文
94 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ziamhitler 2008-11-06
  • 打赏
  • 举报
回复
非常感谢大家!结贴给分!
ziamhitler 2008-11-06
  • 打赏
  • 举报
回复
那么能不能在View这边获得mainframe的对象呢?
jaeson83 2008-11-06
  • 打赏
  • 举报
回复
方法有很多,我经常用两种:
(1)在 MainFrm.CPP中定义一个全局的变量A,在View.cpp中利用extern引用这个变量。
例如我在MainFrm.CPP中定义int a;
在View.cpp中利用extern int a;引用a
需要注意的是全局变量一定要在.cpp文件中定义,不能在.h头文件中定义
(2)如果MainFrm.CPP中定义int a,在View.cpp中定义int b:
先在View.cpp包含 MainFrm.h头文件 (#include "MainFrm.h")
再利用下面的代码引用a
CMainFrame *pMainFrame = (CMainFrame*)AfxGetMainWnd();
b = pMainFrame->a;就可以了
zzhjssz 2008-11-06
  • 打赏
  • 举报
回复
在CMyView获取CMainFrame的句柄:
CMainFrame *pMain=(CMainFrame *)AfxGetApp()->m_pMainWnd;
然后就能用它的变量了
wltg2001 2008-11-06
  • 打赏
  • 举报
回复
用AfxGetMainWnd可以在视图类中获取框架类的指针,注意要转换一下类型
beck_zhou 2008-11-06
  • 打赏
  • 举报
回复
在view中得到CMainFrame的指针就行啦
http://blog.csdn.net/zhoubl668/archive/2008/10/22/3122635.aspx
Nosky100 2008-11-06
  • 打赏
  • 举报
回复
GetActiveView()可以获得活动的View。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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