Язык : C ++
Среда разработки : Microsoft Visual C ++
Используемые библиотеки : MFC
Проблема : Я создал приложение для настройки предпочтений. Слева находится список со «родительскими» категориями настроек, которые они могут изменить, и когда они щелкают по одной, настройки, которые они могут изменить, появляются справа от списка, как во многих больших диалоговых окнах настроек. У меня все мои элементы управления настроены с обменом данными DDX (примечание: у меня есть файл cpp для каждого поддиалога / страницы предпочтений), поэтому у меня есть все базовые настройки.
Вот моя проблема. Мне трудно использовать UpdateData, потому что я никогда не вызываю DoModal () для полей предпочтений, потому что они являются дочерними элементами родительского контейнера диалога, и они просто привязаны к элементу управления рисунками в диалоговом окне. Я выполняю комбинацию настройки фокуса и отображения / скрытия поддиалогов, когда пользователь щелкает по списку.
Когда пользователь выбирает «Сохранить эти», ему / ей предоставляется другое диалоговое окно, которое позволяет ему проверить, какие конкретные панели предпочтений они хотят сохранить (для создания файлов конфигурации XML). Очевидно, мне нужно очистить диалоговое окно для их ввода, но когда программа достигает точки в коде, где она вызывает UpdateData, программа завершается ошибкой, потому что я вызываю UpdateData перед вызовом DoModal ().
Теперь я не совсем уверен, как получить значения. Это также не помогает, что я очень плохо знаком с MFC. Вот и все. В любом случае, я был бы признателен за любую помощь, которую может предложить каждый.