VC 子窗体如何调用父窗体函数?望高手指教!!如果满意可以追加悬赏分!!
在子窗体如何调用父窗体中的一个函数,能不能给出具体代码??谢谢
参考答案:简单的说,就是把父窗口的地址指针传递给子窗口,以供子窗口随时调用父窗口内的变量和函数
以我曾编写的一段程序为例:在父窗口(CNetChessView)调用子窗口(CSetDlg)的时候,将父窗口的指针(this)传递给子窗口.如
void CNetChessView::OnListen()
{
// TODO: Add your command handler code here
Server.Close();
CSetDlg setdlg;//子窗口对象
setdlg.InitDialog(this);//在子窗口的初始化函数里加上父窗口的指针
setdlg.DoModal();
//侦听端口
Server.Create(m_iPort);
Server.Listen();
}
//子窗口的初始化函数如下
void CSetDlg::InitDialog(CNetChessView *pParent)
{
parent=pParent;//父窗口指针存放
m_iPort=(parent)->m_iPort;//获取父窗口的变量
m_strCIP=(parent)->m_strIP;//同上
}
//函数和变量申明如下
public:
void InitDialog(CNetChessView * pParent);
CNetChessView * parent;
//包括初始化函数,和下面这个函数都调用了父窗口的变量,调用父窗口的函数也是一样的
void CSetDlg::OnOK()
{
// TODO: Add extra validation here
UpdateData(TRUE);
(parent)->m_iPort=m_iPort;;//获取父窗口的变量
(parent)->m_strIP=m_strCIP;
CDialog::OnOK();
}