mfc中主窗口有多个TAB子窗口 如何在一个子窗口1中调用另一个窗口2的函数(用于在1中修改2的数据)
mfc中主窗口有多个TAB子窗口如何在一个子窗口1中调用另一个窗口2的函数a()(用于在1中修改2的数据)CDialog1中如此调用:错误CDialog2dldl.a()...
mfc中主窗口有多个TAB子窗口 如何在一个子窗口1中调用另一个窗口2的函数a()(用于在1中修改2的数据)
CDialog1中如此调用:错误
CDialog2 dl
dl.a();
编译 连接都没问题 就是运行操作后error
是不是要获取2的窗口指针?还要怎么操作才可以解决?
请各位给出具体代码 不胜感激 展开
CDialog1中如此调用:错误
CDialog2 dl
dl.a();
编译 连接都没问题 就是运行操作后error
是不是要获取2的窗口指针?还要怎么操作才可以解决?
请各位给出具体代码 不胜感激 展开
4个回答
展开全部
一、如果传量的话可以用全局函数或者消息来传,在焦点回到窗口1的时候再updatedata(false);
二、如果要立刻修改2显示的数据(如编辑框显示的数据),可以使用全局指针变量来保存窗口2的this指针,在窗口1里调用窗口2的更新函数。
如://窗口2
CWnd2* pGOLCWnd2;
{//某函数内把this传给pGOLCWnd2
pGOLCWnd2=this;
}
CWnd2::updateWnd2()//窗口2的更新函数
{……
……
updatedata(ture);
……
updatedata(fasle);
}
//窗口1
//包含窗口1头文件
extern CWnd2* pGOLCWnd2;
要更新的时候就用pGOLCWnd2->updateWnd2;
应该是可以的,如果不要急着更新的话,建议用方法一;如果要更新的话可以用方法二,它可以更新其他父子窗口。还有个方法就是用进程,但由于进程可以访问任意位置,很容易出错
二、如果要立刻修改2显示的数据(如编辑框显示的数据),可以使用全局指针变量来保存窗口2的this指针,在窗口1里调用窗口2的更新函数。
如://窗口2
CWnd2* pGOLCWnd2;
{//某函数内把this传给pGOLCWnd2
pGOLCWnd2=this;
}
CWnd2::updateWnd2()//窗口2的更新函数
{……
……
updatedata(ture);
……
updatedata(fasle);
}
//窗口1
//包含窗口1头文件
extern CWnd2* pGOLCWnd2;
要更新的时候就用pGOLCWnd2->updateWnd2;
应该是可以的,如果不要急着更新的话,建议用方法一;如果要更新的话可以用方法二,它可以更新其他父子窗口。还有个方法就是用进程,但由于进程可以访问任意位置,很容易出错
展开全部
A窗口给B窗口发送消息,把需要更改的参数发过去。
A中:
::PostMessage(hWnd,WM_B_PARAM_CHANGED,myParam1,myParam2);//hWnd是B的句柄;两个参数就是需要更改的参数
然后在B中对该消息进行响应,进行相关操作即可。
A中:
::PostMessage(hWnd,WM_B_PARAM_CHANGED,myParam1,myParam2);//hWnd是B的句柄;两个参数就是需要更改的参数
然后在B中对该消息进行响应,进行相关操作即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个是重新建了一个窗口对象了,要控制2窗口,的找到主窗口的对象(句柄),然后通过这个句柄中的创建窗口2的对象的来调用相应函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我喜欢交叉类. 相互引用.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询