如何在其他类中调用视图类中的函数?

FTDS 2003-07-28 01:04:53
如题:如何在其他类(不是文档类或者框架类)中调用视图类中的函数?

没有办法获得视图类的指针,本人用了如下方法:

//获得窗体指针:
CMainFrame *pFrame = (CMainFrame*)AfxGetApp()->m_pMainWnd;

file://获得与该窗体符合的视图:
CYourView *m_pView = (CYourView *) pFrame->GetActiveView();

file://调用视图函数:
m_pView->Put();

但是发现头文件CMainFrame 和CYourView 加了就出错,不知道是什么原因,不知道请帮忙UP一下好吗
...全文
90 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
FTDS 2003-07-28
  • 打赏
  • 举报
回复
谢谢大家~~~~:)
xeonol 2003-07-28
  • 打赏
  • 举报
回复
缺少定義
加入
#include "Motor_TestDoc.h"
ckp 2003-07-28
  • 打赏
  • 举报
回复
没有#include <Motor_TestDoc.h> 即你的CMotor_TestDoc类的定义头文件
FTDS 2003-07-28
  • 打赏
  • 举报
回复
为什么视图类的头文件一加入就出错,或者说应该加在什么地方

error:
说视图类头文件中的这一行:CMotor_TestDoc* GetDocument();

error C2143: syntax error : missing ';' before '*'
error C2501: 'CMotor_TestDoc' : missing storage-class or type specifiers
error C2501: 'GetDocument' : missing storage-class or type specifiers
twinkle007 2003-07-28
  • 打赏
  • 举报
回复
试一试下面的:
首先,在CMainFrame 中添加函数
CYourView *CMainFrame::GetYourView()
{
//CYourView *pView=this->GetViewPointFuction();//通用的方法
CYourView *pView=this-GetActiveView();//适用于你的问题
return pView;
}

}
然后在你的类中调用
CYourView *pView=GetOwner()->GetYourView();
这是比较通用的方法
对于你的问题也可以用上面的方法
bager 2003-07-28
  • 打赏
  • 举报
回复
先取得ActiveFrame 再取得ActiveView,如下
CMDIFrameWnd *pFrame = (CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;

// Get the active MDI child window.
CMDIChildWnd *pChild = (CMDIChildWnd *) pFrame->GetActiveFrame();

// Get the active view attached to the active MDI child window.
CYourView *pView = (CYourView *) pChild->GetActiveView();
FTDS 2003-07-28
  • 打赏
  • 举报
回复
还有,最好不要用全局变量

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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