友元函数(变量)访问MFC 类成员函数

时间:2021-07-28 18:56:54
函数的目的是友元函数访问ceditview类,并调用SetWindowText函数进行文本输出。

定义方式:

void Func()
{
   //在ceditview中写入文字
  //如何在普通函数内部调用SetWindowText()函数来写文字
}
class MYView : public CEditView
{
    public:
    friend void Func();
};



请指点,谢谢!

7 个解决方案

#1


请问这样是否访问MFC 类成员函数。

#2


fclass MYView : public CEditView
{
    public:
    friend void Func(MYView& view);
};
void Func(MYView& view)
{
  view.SetWindowText();
}

#3


用static修饰下?如果是友元函数,那么直接把那个友元函数写到你要访问的那个类里就可以

#4


引用 2 楼 mlqxj35674 的回复:
fclass MYView : public CEditView
{
    public:
    friend void Func(MYView& view);
};
void Func(MYView& view)
{
  view.SetWindowText();
}


非常感谢你的帮助。
有没有方法,Func()为无参函数也能调用呢。

#5


引用 3 楼 lx624909677 的回复:
用static修饰下?如果是友元函数,那么直接把那个友元函数写到你要访问的那个类里就可以


我主要是想减少代码的改动量。以前在win32控制台写的程序,用了很多cout做信息输出,现在想移植CEditView类来使用。
遇到了如何将cout信息直接打印到view视图中的问题。

#6


引用 4 楼 yyang0514 的回复:
Quote: 引用 2 楼 mlqxj35674 的回复:

fclass MYView : public CEditView
{
    public:
    friend void Func(MYView& view);
};
void Func(MYView& view)
{
  view.SetWindowText();
}


非常感谢你的帮助。
有没有方法,Func()为无参函数也能调用呢。[/quote至少得有一个参数做为类对象的引用

#7


引用 6 楼 mlqxj35674 的回复:
Quote: 引用 4 楼 yyang0514 的回复:

Quote: 引用 2 楼 mlqxj35674 的回复:

fclass MYView : public CEditView
{
    public:
    friend void Func(MYView& view);
};
void Func(MYView& view)
{
  view.SetWindowText();
}


非常感谢你的帮助。
有没有方法,Func()为无参函数也能调用呢。[/quote至少得有一个参数做为类对象的引用

好的,谢谢!

#1


请问这样是否访问MFC 类成员函数。

#2


fclass MYView : public CEditView
{
    public:
    friend void Func(MYView& view);
};
void Func(MYView& view)
{
  view.SetWindowText();
}

#3


用static修饰下?如果是友元函数,那么直接把那个友元函数写到你要访问的那个类里就可以

#4


引用 2 楼 mlqxj35674 的回复:
fclass MYView : public CEditView
{
    public:
    friend void Func(MYView& view);
};
void Func(MYView& view)
{
  view.SetWindowText();
}


非常感谢你的帮助。
有没有方法,Func()为无参函数也能调用呢。

#5


引用 3 楼 lx624909677 的回复:
用static修饰下?如果是友元函数,那么直接把那个友元函数写到你要访问的那个类里就可以


我主要是想减少代码的改动量。以前在win32控制台写的程序,用了很多cout做信息输出,现在想移植CEditView类来使用。
遇到了如何将cout信息直接打印到view视图中的问题。

#6


引用 4 楼 yyang0514 的回复:
Quote: 引用 2 楼 mlqxj35674 的回复:

fclass MYView : public CEditView
{
    public:
    friend void Func(MYView& view);
};
void Func(MYView& view)
{
  view.SetWindowText();
}


非常感谢你的帮助。
有没有方法,Func()为无参函数也能调用呢。[/quote至少得有一个参数做为类对象的引用

#7


引用 6 楼 mlqxj35674 的回复:
Quote: 引用 4 楼 yyang0514 的回复:

Quote: 引用 2 楼 mlqxj35674 的回复:

fclass MYView : public CEditView
{
    public:
    friend void Func(MYView& view);
};
void Func(MYView& view)
{
  view.SetWindowText();
}


非常感谢你的帮助。
有没有方法,Func()为无参函数也能调用呢。[/quote至少得有一个参数做为类对象的引用

好的,谢谢!