Шаг 3 - Возврат значений из диалогового окна

3.gif (7610 b)

Вы имеет созданное диалоговое окно связанное с классом CDialog, и добавленным полем редактирования к нему. Используя ClassWizard Вы связываете переменную класса с полем. Вы выбираете связь с Edit элементом управления вместо текстового поля. Вы вызываете DoModal метод побуждая пользователя определить данные в модальном диалоговом окне.

Как вы будете возвращать значения определенные в диалоговом окне пользователем ?

Обращением к LineIndex методу после вызова DoModal.

Перегрузкой OnOK метода и обращением к методу GetWindowsText для извлечения и сохранения значения.

Перегрузкой OnInitialog метода и инициализаций функции обратного вызова в пределах CEdit для возврата значения.

Добавление кода в OnInitDialog и будем использовать SetLimitText для извлечения и сохранения значения.

Правильный ответ b, так как для возврата значения нам надо перегрузить функцию OnOk, которая вызваться после того как пользователь вводит данные в диалоговое окно и закрывает его подтверждая, что данные в диалоговом окне установлены или его устраивают. Метод GetWindow текст позволяет вернуть данные из окна редактирования. Можно конечно вернуть используя механизм DDX, но в данном вопросе он не упоминается. Никакого отношения LineIndex после вызова DoModal отношения к возврату данных не имеет, а функция OnInitdialog служит для инициализации переменных и параметров диалогового окна, а не для возврата значений.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 13.04.2001