Шаг 74.
Среда программирования Visual C++.
Приложение STUpload. Отображение диалогового окна Select Fund

    На этом шаге мы продолжим работу с приложением STUpload.

    На 26 шаге мы изучили простейший вариант функции OnDraw() приложения STUpload, которая отображает хранящиеся в объекте документа данные в виде нескольких текстовых строк. Приложение показывает все хранящиеся в документе данные, они пока представяют собой фиксированный набор записей для трех ценных бумаг.

    В этом и последующих шагах Вам предстоит внести два изменения. Во-первых, Вы создадите немодальное диалоговое окно Select Fund, предназначенное для выбора ценной бумаги из списка, хранящегося в объекте документа. Затем Вы реализуете функцию CSTUploadView::OnDraw(), осуществляющую вывод данных о выбранной ценной бумаге в виде диаграммы.

Отображение диалогового окна Select Fund

    Для диалогового окна Select Fund применим шаблон диалога IDD_FUNDDIALOG и класс диалога CFundDialog, созданные в шагах 40-44. Теперь Вам предстоит завершить разработку этого диалогового окна. В его окончательной версии не должно быть кнопок ОК и Cancel, так как отображением окна будет управлять команда Select Fund меню View или соответствующая кнопка панели инструментов. Поскольку даже при отсутствии этих кнопок нажатие пользователем клавиш ENTER и ESC порождает сообщения IDOК и IDCANCEL, для класса диалога Select Fund нужно создать версии функций-обработчиков, которые не выполняют никакой работы. В противном случае будут запускаться функции OnOk() и OnCancel() базового класса CDialog, которые вызывают функцию EndDialog() и закрывают диалоговое окно.

    Удобнее создавать обработчики сообщений от кнопок ОК и Cancel при их наличии в диалоговом окне. Поэтому в первую очередь мы займемся созданием функций ОnОК() и OnCancel().

    Теперь нужно написать код для управления диалоговым окном Select Fund. В объекте главного окна приложения CMainFrame создадим переменную-член m_wndFundDialog типа CFundDialog. Диалоговое окно должно быть дочерним окном главного окна приложения, и его отображение на экране будет определяться состоянием m_bFundsVisible - булевой переменной-членом класса CMainFrame. Значение переменной m_bFundsVisible будет устанавливаться командой меню и кнопкой панели инструментов.

    Отображением диалогового окна будет управлять обработчик команды Selection Fund меню View. Далее для команды с идентификатором ID_VIEW_FUNDSELECTION создадим обработчик команды и обработчик обновления пользовательского интерфейса.

    Текст измененного приложения можно взять здесь (55,8 Кб).

    На следующем шаге мы продолжим работу с приложением STUpload.




Предыдущий шаг Содержание Следующий шаг