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);