Стоит Windows 8 Pro, Visual Studio 2010 Express Edition . |
Применение управляющих элементов ActiveX
Визуальное проектирование программы MyCal
Выполним визуальное проектирование диалогового окна, которое будет главным окном приложения.
- В панели Resource View раскройте узел Dialog. Удерживая клавишу Shift или Ctrl, выделите оба ресурса и через панель Properties русифицируйте их одновременно
- В панели Resource View выделите ресурс IDD_MYCAL_DIALOG и через контекстное меню выполните команду Open
- В открывшемся окне дизайнера диалоговых окон отредактируйте главное диалоговое окно, удалив из него все кнопки и статический текст, сгенерированные по умолчанию
Поместить управляющий элемент - календарь на форму диалогового окна можно двумя способами
- Предварительно связать его с панелью Toolbox оболочки. В этом случае элемент будет размещен постоянно в панели Toolbox
- Одноразово связать его с формой проекта
При реализации первого способа...
-
Откройте вкладку Dialog Editor панели Toolbox и вызовите для нее контекстное меню. Выполните команду Add/Remove Items...
Откроется диалоговое окно Customize Toolbox
- Выберите вкладку COM Components и в списке всех зарегистрированных в системе компонентов ActiveX включите нужный компонент календаря. Нажмите кнопку OK и убедитесь, что этот компонент разместился в панели Toolbox. Теперь он будет присутствовать в оболочке постоянно для любого проекта, пока его вновь не удалить таким же способом
При реализации второго способа...
Для одноразового размещения нужного компонента в диалоговой панели следует выполнить следующее:
- Щелкните на открытом ресурсе диалогового окна правой кнопкой мыши и выполните команду Insert ActiveX Control...
-
В появившемся диалоговом окне из списка зарегистрированных в системе элементов управления выберите нужный ActiveX
и щелкните по кнопке OK.
В проектируемое диалоговое окно приложения будет помещен управляющий элемент календаря.
После подключения к проекту ActiveX продолжим проектирование приложения.
- Поместите на диалоговый ресурс две кнопки Button
-
Отредактируйте свойства управляющих элементов главного диалогового окна в соответствии с таблицей
Добавление кода
Мы хотим добавить два обработчика для кнопок и одну переменную-экземпляр класса календаря для управления им.
- В панели Class View выделите класс CMyCalDlg
-
Через контекстное меню или главное меню оболочки Project вызовите мастер добавления переменной, который заполните так
Мастер сгенерирует соответствующий код. Обратите внимание, что мы указали мастеру разместить код самого калькулятора в отдельных файлах Calendar.h и Calendar.cpp.
-
В файле MyCalDlg.cpp найдите функцию OnInitDialog() и разместите код установки календаря на текущую дату
Код в функции CMyCalDlg::OnInitDialog() BOOL CMyCalDlg::OnInitDialog() { ................................................ // TODO: Add extra initialization here // Установка календаря на текущую дату m_Calendar.Today(); return TRUE;
-
Создайте обработчик кнопки Today и поместите туда такой же код
Код обработчика кнопки Today void CMyCalDlg::OnBnClickedTodayButton() { // TODO: Add your control notification handler code here // Установка календаря на текущую дату m_Calendar.Today(); }
-
Создайте обработчик кнопки Exit и поместите туда код завершения приложения
Код обработчика кнопки Exit void CMyCalDlg::OnBnClickedExitButton() { // TODO: Add your control notification handler code here OnOK(); }
- Смените иконку приложения
- Оформите диалоговое окно About
- Постройте приложение и убедитесь в его работоспособности
Главное окно приложения должно иметь примерно такой вид