MFC 单文档应用程序 相关的问题

用MFC创建一个单文档应用程序,我在view类中写了一个函数voidcxxview::writelog(cstringstrlog)然后我在框架类中想调用这个函数,我应该... 用MFC创建一个单文档应用程序,我在view类中写了一个函数
void cxxview::writelog(cstring strlog)
然后我在框架类中想调用这个函数,我应该如何做,
我的做法如下,结果报错
1.在mainfrm.h中#include "cxx.h"
2.声明一个变量CxxView m_view;
3.在调用函数中执行:m_view.writelog(str);
结果在第二步声明变量的时候就已经报如下错误了:
error C2248: 'CxxView::CxxView' : cannot access protected member declared in class 'CxxView'
error C2248: 'CxxView::~CxxView' : cannot access protected member declared in class 'CxxView'
请问,我错在哪里,和我应该如何做。谢谢
writelog 是public类型
展开
 我来答
hk08122362
2010-01-21
知道答主
回答量:33
采纳率:0%
帮助的人:9万
展开全部
这样来:
1、可以在mainframe中使用下面代码
CxxxView * xxxview;
xxxview = (CxxxView *)GetActiveView();
xxxview->你的函数();
当然要注意#include“xxxView.h”貌似view还要同时include“xxxDoc.h”。
2、可以定义一个全局的CxxxView * xxxview;指针,在CxxxView的构造函数中给指针赋值。这样也可以使用这个全局指针来调用你的函数。
50573750
2010-01-21 · TA获得超过976个赞
知道大有可为答主
回答量:1800
采纳率:100%
帮助的人:0
展开全部
View是在MFC开始就绑定的,不能声明的说。

做法是楼上几个的啦。呵呵。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
进取的有胜哥
2010-01-21 · TA获得超过203个赞
知道小有建树答主
回答量:563
采纳率:0%
帮助的人:343万
展开全部
CxxView的类声明出现问题了
你看CxxView和~CxxView是不是声明在protect:下面了
如果是,那就把它声明在public下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wjy0412
2010-01-21
知道答主
回答量:13
采纳率:0%
帮助的人:7.8万
展开全部
构造函数(CxxView)和析构函数(~CxxView)是保护类型的吧,改成公有类型(public)应该就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cpazstido
2010-01-21
知道答主
回答量:49
采纳率:0%
帮助的人:0
展开全部
GetActiveView

然后强制转换成你的那个view,然后就可以调用了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式