title: UpdateData in MFC
body: <p><strong>Language</strong>: C++</p>
  
  <p><strong>Development Environment</strong>: Microsoft Visual C++</p>
  
  <p><strong>Libraries Used</strong>: MFC</p>
  
  <p><strong>Problem</strong>: I have created a preference configuration application. To the left is a list box with the "parent" categories of settings they can change, and when they click one, the settings they can change appear to the right of the list box, like in many large preference dialogs. I have all of my controls set up with DDX data exchanges (note: I have a cpp file for EACH sub-dialog/preference page), so I have all of the groundwork set.</p>
  
  <p>Here's my issue. I'm having a hard time using UpdateData because I never actually call DoModal() on the preference boxes because they're children of the parent dialog container, and they are just bound to the picture control in the dialog. I perform a combination of setting focus and showing/hiding the sub-dialogs when the user clicks through the listbox.</p>
  
  <p>When the user selects "Save These" he/she is presented with another dialog that allows them to check which specific preference panes they want to save (to generate XML configuration files). Obviously I need to scrape the dialog for their inputs, but when the program reaches the point in the code where it calls UpdateData, the program fails, because I'm calling UpdateData before calling DoModal().</p>
  
  <p>Now I'm not really sure how to go about getting the values. It doesn't help either that I'm very new to MFC. So there's that. Anyhow, I would appreciate any help that anyone can offer.</p>