![]() |
![]() |
|
![]() |
||||||||||||||||||
![]() |
![]() |
![]() |
||||||||||||||||
|
![]() |
|
![]() |
|
||||||||||||||
![]() |
![]() |
3 - Возврат значений из диалогового окна / Экзамен MCP 70-016 / Visual C++ |
![]() |
Шаг 3 - Возврат значений из диалогового окнаВы имеет созданное диалоговое окно связанное с классом CDialog, и добавленным полем редактирования к нему. Используя ClassWizard Вы связываете переменную класса с полем. Вы выбираете связь с Edit элементом управления вместо текстового поля. Вы вызываете DoModal метод побуждая пользователя определить данные в модальном диалоговом окне. Как вы будете возвращать значения определенные в диалоговом окне пользователем ? Обращением к LineIndex методу после вызова DoModal. Перегрузкой OnOK метода и обращением к методу GetWindowsText для извлечения и сохранения значения. Перегрузкой OnInitialog метода и инициализаций функции обратного вызова в пределах CEdit для возврата значения. Добавление кода в OnInitDialog и будем использовать SetLimitText для извлечения и сохранения значения. Правильный ответ b, так как для возврата значения нам надо перегрузить функцию OnOk, которая вызваться после того как пользователь вводит данные в диалоговое окно и закрывает его подтверждая, что данные в диалоговом окне установлены или его устраивают. Метод GetWindow текст позволяет вернуть данные из окна редактирования. Можно конечно вернуть используя механизм DDX, но в данном вопросе он не упоминается. Никакого отношения LineIndex после вызова DoModal отношения к возврату данных не имеет, а функция OnInitdialog служит для инициализации переменных и параметров диалогового окна, а не для возврата значений. | | Автор Каев Артем. |
![]() |
![]() |
![]() |
|