我的程序是一个基于对话框的程序,在主对话框中按一个按钮后生成一个非模态对话框,现在我想在新的对话框里按一个按钮的时候窗口消失,同时要改变主对话框的内容,应该怎么办?
试过用自定义消息,但是在新对话框发送消息的时候需要得到主对话框的指针,不知道如何得到。
这两个对话框有父子关系吗?
用模式对话框是又应该怎么实现这个功能呢?
谢谢!
试过用自定义消息,但是在新对话框发送消息的时候需要得到主对话框的指针,不知道如何得到。
这两个对话框有父子关系吗?
用模式对话框是又应该怎么实现这个功能呢?
谢谢!
现在在你的按钮点击函数里void CMainDlg::OnButton()里写道, CDyniDlg* pDyniDlg = new CDyniDlg(this);然后调用pDyniDlg->Create()去建立和显示这个非模式对话框的话,那这两个对话框就是父子关系,你可以在CDyniDlg中用GetParent()函数来得到父类的HWND,即窗口句柄。此时你就可以在任何时候用SendMessage或是PostMessage,给父类的HWND发送任何消息了。模式对话框也同此理。
GetParent()
GetOwner()
都能得到主对话框的指针,通过指针直接操作想要的内容是比较简单的
也可以发送自定义消息,在消息响应函数中,作刷新界面等操作
一,发自定义消息给他,在要更改的对话框中处理DefWindowPoc 消息
二,为非模式对话框增加成员函数(Public中),然后在主对话框中调用,如m_pMyDlg->mybl....