Visual studio 2010 MFC-两个CDDialog之间的通信
我有一个基于MFC对话框的应用程序 主对话框包含一个子对话框(用于CTabCtrl控件)Visual studio 2010 MFC-两个CDDialog之间的通信,visual-studio-2010,mfc,dialog,Visual Studio 2010,Mfc,Dialog,我有一个基于MFC对话框的应用程序 主对话框包含一个子对话框(用于CTabCtrl控件) CDialog mainDlgClass CMyChildDialog儿童班 如何从主对话框修改子对话框的控件,或者如何发送消息,例如:通过PostMessage和使用RegisterWindowMessage修改子对话框的控件 我不知道如何检索子对话框的句柄 void mainDlgClass::check() { if(condition) PostMessage_to_the
- CDialog mainDlgClass
- CMyChildDialog儿童班
RegisterWindowMessage
修改子对话框的控件
我不知道如何检索子对话框的句柄
void mainDlgClass::check()
{
if(condition)
PostMessage_to_the_child_dialog(***);
OR
if(condition)
Modify_CStatic_text_on_the_child_dialog(***);
}
编辑:
结构的屏幕截图:
资源编辑器
主对话框+包含ChidlDialog的CTabCtrl
子对话框已设置WS_子属性
已解决。假设第二个对话框是主对话框的子对话框(具有WS_子对话框样式),则必须由主对话框创建。子对话框仅限于父窗口的客户端区域 您可以在主对话框访问的子对话框类中提供公共成员函数(访问器),并根据需要进行更改。或者,如果子类的子类的对话框控件声明为公共(类似于led OOP),则可以直接访问它们 问题是,您可能将第二个对话框称为子对话框,而它实际上不是子对话框(没有WS_子样式)。尽管如此,如果第二个对话框生成为无模式,则可以使用上述方法 如果是模态,则由于主对话框被禁用,进近可能不同;因此,用户无法访问主对话框控件。如果是这样的话,你能给我们更多的信息吗 例如,在什么情况下,您希望更改控件