我写了一个控件类
Class CMyCtrl:public COleControl
{
...
public:
int m_nTest;
CMyWnd m_wnd;
}CMyWnd : public CWnd
{
}我要在CMyWnd中,访问m_nTest,无论用函数,还是直接访问,都不行,会出现无法访问的错误。但编译没有错误,我想是不是控件类有什么规定,不能这样访问,没找到资料,了解的请帮忙提示一下,谢谢!
Class CMyCtrl:public COleControl
{
...
public:
int m_nTest;
CMyWnd m_wnd;
}CMyWnd : public CWnd
{
}我要在CMyWnd中,访问m_nTest,无论用函数,还是直接访问,都不行,会出现无法访问的错误。但编译没有错误,我想是不是控件类有什么规定,不能这样访问,没找到资料,了解的请帮忙提示一下,谢谢!
在创建CMyWnd时将m_nTest的指针传进去,如:
Class CMyCtrl:public COleControl
{
...
public:
int m_nTest;
CMyWnd m_wnd;
}CMyWnd : public CWnd
{
int* ipTest;
} 调用:
m_wnd.ipTest = &m_nTest;
或使用构造函数赋值。
但是要是扩展的话,还是用2楼的获取实例指针吧,不过这个还是需要点技巧的,要写个中间代理类。
也 写了# spring203 所说的函数,问题同样存在,好像CMyCtrl的函数和属性根本不让访问一样。
{
friend class CMyWnd;
...
public:
int m_nTest;
CMyWnd m_wnd;
} CMyWnd : public CWnd
{
}