Есть диалога IDD_MYDIALOG1, которому соответствует переменная myDialog1 типа CMyDialog1. Этот диалог был вызван модальным образом:
CMyDialog1 myDialog1;
myDIalog1.DoModal();
На этом диалоге есть кнопка с надписью "Показать" IDC_BUTTON1, которой соответствует переменная m_IDC_BUTTON1 типа CButton. При нажатии на эту кнопку вызывается другой диалог--IDD_MYDIALOG2, которому соответствует переменная myDialog2 типа CMyDIalog2:
CMyDialog2 myDialog2;
myDIalog2.DoModal();
Вопрос: правильно ли я делаю, что открываю один модальный диалог из другого модального диалога? Если правильно, то какие особенности открытия одного модального диалога из другого модального диалога существуют? Если нет (то есть нельзя из одного модального диалога открыть другой модальный диалог), то как поступить в этом случае--например, какой диалог из этих двух открыть в немодальном режиме и т.п.?
1613 г. = 2024 г.
Re: Вызов модального диалога из модального диалога
Здравствуйте, aloch, Вы писали:
A>Все правильно, открывать модальный диалог из модального диалога можно. Ограничение здесь — только размер стека.
Такая проблема: из главного окна приложения при нажатии на кнопку "Рассчитать" вызывается консольное окно, в котором показывается процесс математических модальный вычислений и модальный диалог calcManDialog, на котором отображены четыре кнопки: "Остановить", "Показать", "Продолжить", "Выйти".
calcManDialog.DoModal();
После завершения математических вычислений пользователь может нажать на кнопку "Показать", чтобы ему высветился модальный диалог solutionDialog, в котором отображается решение математической задачи:
Здравствуйте, RussianFellow, Вы писали:
A>>PS A>>Если ты, судя по вопросам, новичок, то зачем тебе вот этот вот MFC?
RF>Учусь работать с MFC. RF>На практических задачах.
Есть у меня такое подозрение, что у тебя существует возможность выбора фреймворка для создания интерфейса.
И если это так, то я настоятельно рекомендую отказаться от MFC в пользу более удобной библиотеки — Qt.
Если же есть возможность выбора языка, то лучше смотреть в сторону связки C# + WinForms.
Критичные по производительности вычисления (если ~10% потери производительности это критично) можно оформлять в виде dll на C++.
Re[3]: Вызов модального диалога из модального диалога
Здравствуйте, RussianFellow, Вы писали:
RF>Проблема уже решена--я неправильно подавал данные в solutionDialog, которые потом выводились в текстовые поля в функции solutionDialog::OnInitDialog .
Я как вспомнил сейчас про все эти OnInitDialog и прочие класс-визарды, так после WinForms прям дурно стало
Re[3]: Вызов модального диалога из модального диалога
Здравствуйте, RussianFellow, Вы писали: RF>Такая проблема: из главного окна приложения при нажатии на кнопку "Рассчитать" вызывается консольное окно, в котором показывается процесс математических модальный вычислений и модальный диалог calcManDialog, на котором отображены четыре кнопки: "Остановить", "Показать", "Продолжить", "Выйти".
Что за бред? Зачем консольное окно вместе с диалогами? Вы что специально издеваетесь над пользователями своей программы?
Выводите все данные в поля диалога. Для этого есть много различных контролов.
И еще вопрос: что такое "процесс математических модальный вычислений"?
Желаю успеха,
Никита.
Re[4]: Вызов модального диалога из модального диалога