MFC 如何实现父窗口的combo控件选择不同选项时改变子窗口的控件的显示与隐藏状态?

MFC 如何实现父窗口的combo控件选择不同选项时改变子窗口的控件的显示与隐藏状态?

问题描述:

如题,在MFC 中如何实现父窗口的combo控件选择不同选项时改变子窗口的控件的显示与隐藏状态?
本人是初学者,希望各位大神帮帮忙,如果可以地话解释得细致一点,拜托了。

父窗口的combo控件添加选项改变的响应函数,该函数给子窗口发指定消息,子窗口的消息响应那里,识别到该消息,做对应的隐藏/显示操作。

在父窗口中向子窗口发送消息,子窗口响应后进行显示或者隐藏操作。

假设父窗口是DlgA,子窗口是DlgB,我在子窗口的cpp中用GetParent->GetWindowText获取了A中某combo的值str,再用switch语句对于不同str隐藏显示B中的控件。这样写可以实现B初始化时的选择性隐藏显示控件,但在AB两窗口都打开时,A中再切换combo选项,B控件的显示状态不能更新。求各位大神教教我,怎么实现,两窗口都打开时,A的combo切换选项,B的控件能随之改变显示状态。

void CMyDlg::OnButton3()
{

// TODO: Add your control notification handler code here
UpdateData(true);
ShowWindow(SW_HIDE);        //当前界面隐藏
CDialog1 Cdlog1;                //需要添加该C***Dlg.h头文件,否则编译通不过
Cdlog1.DoModal();

ShowWindow(SW_SHOW);        //显示隐藏界面    
UpdateData(false);

}

窗口句柄->howWindow()

m_Memview->ShowWindow(SW_SHOW);
m_infView->ShowWindow(SW_HIDE);