我正在處理一個小的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