C++ 如何收集和传递数据

C++ 如何收集和传递数据,c++,mfc,dialog,C++,Mfc,Dialog,我应该找到另一个兴趣点,因为这个兴趣点很快就夺走了我的生命。似乎很多人对MFC代码的复杂性感到困惑,包括我。我有一个MFC对话框应用程序,它创建了几个对话框,您可以使用典型的back或next函数导航到这些对话框。在此过程中,您可以通过单选组按钮、列表框和各种其他控件收集数据。在大多数情况下,我理解如何通过在每个不同对话框的代码中使用AFX映射提供的m_u变量来处理数据。在对话框收集的数据收集/选择过程结束时(有时在过程中),我需要对收集到的数据进行处理。我可能需要从一个对话框中获取数据,然后根

我应该找到另一个兴趣点,因为这个兴趣点很快就夺走了我的生命。似乎很多人对MFC代码的复杂性感到困惑,包括我。我有一个MFC对话框应用程序,它创建了几个对话框,您可以使用典型的back或next函数导航到这些对话框。在此过程中,您可以通过单选组按钮、列表框和各种其他控件收集数据。在大多数情况下,我理解如何通过在每个不同对话框的代码中使用AFX映射提供的m_u变量来处理数据。在对话框收集的数据收集/选择过程结束时(有时在过程中),我需要对收集到的数据进行处理。我可能需要从一个对话框中获取数据,然后根据上一个对话框修改下一个对话框。似乎当您在对话框中移动时,上一个对话框中的数据会丢失,除非您以某种方式保存它。我知道有几十种方法可以做到这一点,我也曾尝试过其中的几种,从对象传递到创建新类、新结构、全局变量、指针等等。。。。我关心的是,我需要某种类型的数据结构,以便在内存中保持足够长的活动时间,以便我的用户代码能够处理它。这就是我认为的问题,我不知道MFC如何处理这个问题。我目前决定使用一个名为dlg_DataHandler的结构(用于存放从每个对话框收集的数据),在一个.h文件中包含几个测试成员。它已被定义为指针类型。我正在创建一个这种类型的变量,并将其设置为new dlg_DataHandler,但数据并没有像我希望的那样从一个对话框传递到另一个对话框。我想知道的一件事是,我不知道在哪里放置创建变量的“new”语句。就好像数据没有像它应该的那样流入和流出结构一样。下面是一些代码:

// file1.h

typedef struct dlg_DataHandler {

    int var;
    char* String;
    int RepetitionRadio;  // radio button data
       constructor here
} *dlgDataHandler;

extern dlgDataHandler DlgData;
//*****************



// file2.cpp  

dlg_DataHandler DlgData = new dlg_DataHandler;    // not located anywhere in peticular just in the code since I DON'T KNOW where to put it.  DlgData->member gets loaded in the dialog .cpp files to try collect data, but it doesnt seem to be passing data across the different windows.  

将变量放入主应用程序类(从
CWinApp
派生的类)中,并在
InitInstance()中调用
new
。然后,您可以使用从代码中的任何其他位置访问应用程序实例以及您的变量