C++ 在MFC程序中,如何在不同的对话框之间传递数据?

C++ 在MFC程序中,如何在不同的对话框之间传递数据?,c++,session,mfc,C++,Session,Mfc,在web开发中,当我们希望在不同页面之间传递某些内容时,我们可能会使用会话来保存数据。但是在MFC中,我们可以用什么来存储这些东西呢 谢谢 在对话框之间共享数据有很多方法。您可能需要更具体地说明您的需求 将其存储在全局变量中 将其存储在(TLS)中 让一个对话框通过或发送窗口消息 从这里开始,事情变得更加复杂。典型的MFC应用程序将具有文档-视图-框架体系结构。数据存储在文档对象中,并全局访问。您可以通过AfxGetMainWnd()在任何地方访问它 AfxGetApp()还将为您获取指向主应用

在web开发中,当我们希望在不同页面之间传递某些内容时,我们可能会使用会话来保存数据。但是在MFC中,我们可以用什么来存储这些东西呢


谢谢

在对话框之间共享数据有很多方法。您可能需要更具体地说明您的需求

  • 将其存储在全局变量中
  • 将其存储在(TLS)中
  • 让一个对话框通过或发送窗口消息

  • 从这里开始,事情变得更加复杂。

    典型的MFC应用程序将具有文档-视图-框架体系结构。数据存储在文档对象中,并全局访问。您可以通过AfxGetMainWnd()在任何地方访问它

    AfxGetApp()还将为您获取指向主应用程序的指针,如果您不使用文档视图体系结构,这是存储数据的另一个好位置。如果有大量数据,可以构造一个类来保存数据,然后将实例作为成员变量添加到项目中的CWinApp中

    另一个选项,我不推荐,但我已经看到了,是将对话框本身作为CWinApp中的成员变量,然后每个对话框都可以引用另一个。基本上,用户单击“确定”,但随后对话框消失,但不会被删除。这意味着他们输入的所有数据仍然可以通过dialog变量访问