我正在处理一个小的MFC应用程序..因为我是MFC新手我不熟悉所有的用户控件和类......反正我的问题是“如何在2个对话窗口之间进行通信”..通常在C#中将是一个面板,因此我们可以分别隐藏和保存数据,但我不确定,我们如何在Mfc中做到这一点。实际上,我通过附加属性页使用PropertySheet来做到这一点,因为我有一些限制。 ..所以我很想知道是否有其他方式可以实现这一点。如果有人知道这一点,请帮助我......如何在对话框之间进行通信?
回答
您正在构建一个Dialog或SDI/MDI类型的应用程序吗?
如果对话窗口来自两个不同的进程,那么您可以使用已注册的消息进行进程间通信:http://msdn.microsoft.com/en-us/library/ms644947%28VS.85%29.aspx。
如果对话框窗口来自SDI或MDI应用程序,那么在Visual Studio为您生成的代码中会有一个从CWinApp或CWinAppEx派生的类:http://msdn.microsoft.com/en-us/library/362kaah4%28VS.80%29.aspx。还将有一个派生自CFrameWnd或CFrameWndEx的类(最有可能称为CMainFrame):http://msdn.microsoft.com/en-us/library/za93adby%28VS.80%29.aspx。
您可以使用其中的任何一种(取决于您正在讨论的通信类型可能适合使用其中一种或另一种或两种),就像您将使用C#面板一样。
如果对话框窗口都来自Dialog应用程序,那么您可以在应用程序中使用CDialog派生类,就像您将使用C#面板一样。
如果对话只需要调用另一个方法来更新数据或类似的东西(并且来自同一个应用程序),那么您可以将它们的指针传递给对方。
最简单的方法之一是在表单之间传递引用需要沟通。例如,您可以创建一个“主”表单,该表单创建两个“子”表单并将变量传递给引用其他表单的每个表单(在实例化上)。
嗨迈克,谢谢你的回复,你能告诉我一个例子,或者你可以给我介绍一些很好的文章相关的...我真的很感谢你的帮助 – kiddo
- 1. 如何在ViewModels之间进行通信?
- 2. 如何在帧之间进行通信?
- 3. 如何在两个JavaScript对象文字之间进行通信?
- 4. 如何在对象与其克隆之间进行通信?
- 5. 目标C如何在对象之间进行通信?
- 6. 如何在对象之间进行通信
- 7. 如何通过HTTP和HTTPS在页面之间进行通信/共享会话
- 8. 如何在C#中进行进程间通信时进行进程间通信?
- 9. 如何使用FIFO在python子进程之间进行通信
- 10. 如何在python中的两个进程之间进行通信
- 11. 如何在进程之间进行通信?
- 12. 如何在Firefox插件和android进程之间进行通信?
- 13. 通过将对象作为参考传递,无法在对话框之间进行通信!
- 14. 在Java类之间进行通信
- 15. 在JavaScript和Servlet之间进行通信
- 16. 在UIDatePicker和UITableView之间进行通信
- 17. 在C++和C#之间进行通信?
- 18. 在login.aspx和default.aspx之间进行通信
- 19. PHP在单独的用户会话之间进行通信?
- 20. 如何在tabhost和新行为之间进行通信
- 21. 如何在WP7和Android之间进行通信(任何库?)
- 22. 在Android中使用ViewPager和对话框进行通信
- 23. JQuery UI-对话框:如何在对话框中进行回调?
- 24. 如何在共享对话框中进行自定义信息
- 25. 两个对话框片段之间的通信Android
- 26. mianwindow和python中的对话框之间的通信
- 27. 如何在Windows Vista Session 0和桌面之间进行通信?
- 28. 如何在角度DART控制器之间进行通信
- 29. 如何在python和mac应用程序之间进行通信?
- 30. 如何在php和flash之间进行通信
我通过指针,但它不工作..如果你想要我可以发布代码.... – kiddo
是的,发布代码。另外,当你说它不起作用时,你的意思是它编译,但是这些调用不会发生;或者你的意思是它不能编译? – adam