我们小学期正在做“即使通信软件”,里面有一个好友列表功能。我希望达到的效果:在“添加好友”的窗口()中输入好友账号并关闭后,父窗口的好友列表会更新。好友列表用的是“树”控件。写上具体代码。
刷新工作交给父窗口自己做,在父窗口中:
{
CFriendDlg dlg;
dlg.domodal();
refreshlist(); // 刷新好友列表
}
什么?子窗口是非模态窗口?那就发消息:
在父窗口中自定义消息#define WM_MSG WM_USER+0x01
添加消息处理函数 LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam)
加入消息映射ON_MESSAGE(WM_MSG, OnMyMessage)
在OnMyMessage中刷新好友
在子窗口中,给父窗口发消息SendMessage(GetParent(), WM_MSG, 0, 0)
如何实现MFC关闭子窗口时刷新父窗口的内容
在父窗口中自定义消息#define WM_MSG WM_USER+0x01 添加消息处理函数 LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam)加入消息映射ON_MESSAGE(WM_MSG, OnMyMessage)在OnMyMessage中刷新好友 在子窗口中,给父窗口发消息SendMessage(GetParent(), WM_MSG, 0, 0)
MFC DoModal()显示后子窗口 父窗口被隐藏?想操作父窗口 怎么办
DoModal是模态对话框,这样不能操作mainwindow对话框的,使用上面的create方法显示pos对话框就可以同时操作两个对话框了
mfc中如何用子对话框的退出键将子对话框和其父对话框一起关闭\/急急急...
1.把父对话框的句柄传给子对话框,如下:mytestdlg dlg(this); dlg.DoModal();2.在子对话框中响应ON_WM_CLOSE()消息(通过子对话框属性可直接得到响应函数OnClose)3.在OnClose()函数中,发送一个关闭消息给父对话框就可以了如下:void mytestdlg::OnClose(){ ::SendMessage(m_pParent->...
MFC中tab控件下子对话框切换问题
问题出在CDialog的缺省消息处理函数没有把切换按键的消息转发给父窗口,因此,在子对话框活动期间,实际上主窗口是得不到按键消息的。解决方案是你不要基于CDialog做tab的子窗口,应该使用面板类。如果你一定想用CDialog,那么你需要重载CDialog的键盘处理消息函数,让tab切换键的消息向父窗口转发由父窗口...
请问MFC中如何在新对话框中获得父对话框的数据?急急急。。。
非模态对话框,通过Create创建的,只要在Create之中声明了明确的父子关系(参数中有一项),那么直接GetParent就可以获取父窗口指针了,之后通过类型强制转换,就可以访问父对话框的数据了。模态对话框,通常是在子对话框建立自定义成员变量,然后这样的代码传递:CxxDlg dlg;\/\/子对话框dlg.m_1 = xxx;\/\/...
请问MFC中子对话框怎么控制父对话框中的控件?
你在创建子窗口的时候可以通过构造函数把父窗口的指针传给子窗口,比如:CDlg m_Dlg(this);也可以在子对话框中用GetParent函数即时获取父窗口的指针或者窗口句柄;通过获取到的指针或者窗体句柄就可以控制父窗口的控件了。但通常的做法是获取父窗口的指针\/句柄后给父窗口发个消息,让其在消息响应函数中做...
mfc:如何在对从话框中打开一个新对话框后将之前的对话框关闭
如果你想要在父窗口打开子窗口,那么就得保证父窗口不能关闭,否则你的子窗口会被自动销毁。如果你真的想把父窗口关闭,不妨将子窗口做成另外一个exe,打开另外一个exe也就意味着打开另一个进程。不会对子窗口造成影响。
MFC 怎样可以使父窗口关闭 子窗口不关闭
如果窗口之间存在父子关系,则父窗口关闭子窗口必然关闭,因为父窗口关闭意味着整个程序退出,所以,你这种要求应该实现不了,很多应用程序隐臧一个窗口显示一个窗口并不是真正的关闭前一个窗口,仅仅是把他隐臧起来而已,而且显示着的这个窗口还要改变父窗口。
MFC 父窗口获取子窗口
如果子窗口是模式对话框,可以在子窗口关闭之后,获取子对话框中的值。如:CSubDlg subDlg;if(IDOK == subDlg.DoModel()){ int n = subDlg.m_nValue;}发送消息的话是这样:GetParent()->SendMessage(MESSAGE_ID, lParam, wParam); MESSAGE_ID是你的自定义消息ID或者干脆对GetParent()进...
MFC 子窗口怎么得到父窗口的父窗口的指针,并对父窗口的父窗口的按钮进行...
子窗口获得父窗口指针 GetParent();比如父窗体如下 CParentDlg : public CDialog { public:CButton m_bt;} 子窗体操作父窗体的按钮m_bt,可以这样(CParentDlg *)GetParent()->m_bt.SetWindowText("hello");