- •Лабораторный практикум «Основы разработки приложений Windows» Книга 1
- •Часть 1. Теоретические сведения4
- •Часть 2. Лабораторный практикум95
- •Часть 1 Теоретические сведения
- •1. Структура приложения Windows Простейшая программа с главным окном
- •Структура программы
- •Главная функция WinMain()
- •Регистрация класса окна
- •Создание и показ окна
- •Сообщения Windows и цикл их обработки
- •Оконная функция
- •Макрос handle_msg и структурирование программы
- •2. Интерфейс графических устройств
- •Простая программа, использующая средства gdi
- •Обработка сообщений wmpaint
- •Контекст устройства
- •Использование графических инструментов
- •3. Ресурсы: меню Простая программа с меню
- •Файл ресурсов
- •Описание меню в файле ресурсов
- •Сообщение wmcommand
- •Программное создание меню
- •Плавающее меню
- •Инструментальная панель
- •Всплывающие подсказки
- •0,"Первая строка"
- •1,"Вторая строка"
- •2,"Третья строка"
- •4. Ресурсы: диалоговые окна
- •Простая программа с меню и диалогом
- •Описание диалога в файле ресурсов
- •Обслуживание модального диалога
- •Модальный диалог как главное окно приложения
- •Немодальный диалог
- •Список в диалоговом окне
- •Окно редактирования и статический элемент управления
- •Графика в диалоговом окне
- •Перекрашивание диалогового окна и его элементов
- •Часть 2 Лабораторный практикум Работы лабораторного практикума Работа 1. Вызов функций Windows
- •Работа 2. Главное окно приложения (пример 1-1 из настоящего пособия)
- •Работа 3. Вывод в главное окно приложения текста и фигур (пример 2-1 из настоящего пособия)
- •Работа 4.Вывод в главное окно приложения текста и фигур (индивидуальное задание а)
- •Работа 5. Меню и модальный диалог (пример 4-1 из настоящего пособия)
- •Работа 6.Меню (индивидуальное задание в)
- •Работа 7.Модальный диалог в качестве главного окна приложения (индивидуальное задание с)
- •Работа 8.Вывод графика в главное окно приложения (индивидуальное заданиеD)
- •Работа 9. Немодальный диалог
- •Работа 10. Диалог с окном редактирования
- •Работа 11. Программное создание меню
- •Работа 12. Плавающее меню
- •Работа 13. График в диалоговом окне
- •Работа 14. Инструментальная панель (tool bar)
- •Работа 15. Инструментальная панель со всплывающими подсказками (tool tips)
- •Работа 16. Пользовательские пиктограммы и курсоры
- •Работа 17. Локализация программных продуктов
- •Индивидуальные задания лабораторного практикума
Часть 2 Лабораторный практикум Работы лабораторного практикума Работа 1. Вызов функций Windows
a. Вызовите справку по функцииGetSystemDirectory(), разберитесь в правилах ее вызова. С помощью этой функции получите и выведите в окно сообщения имя системного каталога Windows.
b. Вызовите справку по функцииGetComputerName(), разберитесь в правилах ее вызова. С помощью этой функции получите и выведите в окно сообщения имя вашего компьютера.
c.С помощью программыNorton Commander создайте в вашем каталоге файл с произвольным именем и назначьте ему некоторую комбинацию атрибутов (только для чтения, системный и др.). Вызовите справку по функцииGetFileAttributes(). Разобравшись в ее параметрах, получите с ее помощью код атрибутов вашего файла. Найдите на диске файлWINNT.H, а в нем макросы, определяющие константы вида FILE_ATTRIBUTE_HIDDEN и др. Расшифруйте полученный код атрибутов и удостоверьтесь, что он соответствует установленной вами комбинации атрибутов.
Работа 2. Главное окно приложения (пример 1-1 из настоящего пособия)
Отладив программу, приведенную в пособии, выполните с ней следующие операции:
a.Измените цвет главного окна приложения, загрузив кисть другого цвета. Перечень кистей, имеющихся на складе Windows, можно получить, просмотрев справку по обобщенной функцииGetStockObject().
b.Замените макросGetStockBrush() функциейCreateSolidBrush(), с помощью которой можно создать кисть произвольного цвета. Выберите для окна цвет по желанию (красный, желтый, фиолетовый и т. д.).
c. Просмотрев справку по структуреWNDCLASS, задайте классу окна стильCS_NOCLOSE. Запустите приложение и попытайтесь завершить его работу стандартными способами (кнопка, системная клавишаAlt+F4, пункт"Закрыть"системного меню). Закройте приложение с помощью диспетчера задач Windows (клавишиCtrl+Alt+Del).
d. Замените функциюCreateWindow()на функциюCreateWindowEx(), установив расширенный стиль окнаWS_EX_TOPMOST. Изучите поведение такого окна, когда на рабочий стол одновременно выводятся окна нескольких приложений. Верните программу в исходное состояние, чтобы ее можно было использовать в качестве заготовки для последующих программ.
Работа 3. Вывод в главное окно приложения текста и фигур (пример 2-1 из настоящего пособия)
Отладив программу и убедившись, что изображение в главном окне соответствует рис. 2.1 пособия, исследуйте возможности рисования в главном окне приложения. Для этого удалите из оконной процедуры обработку сообщения WM_PAINT (проще всего это сделать, поставив знак комментария перед соответствующим макросомHANDLE_MSG). Убедитесь в том, что программа не потеряла своей работоспособности, хотя выводит лишь пустое окно. Выведите в главное окно какую-либо цветную фигуру (прямоугольник, эллипс) достаточно большого размера, поместив соответствующие строки непосредственно в главную функциюWinMain(), сразу после создания и показа окна. Для получения дескриптора контекста устройства воспользуйтесь функциейGetDC(), а для его освобождения – функциейReleaseDC(). Изучите реакцию программы на изменение размеров окна, при котором граница окна пересекает нарисованную в окне фигуру.
Работа 4.Вывод в главное окно приложения текста и фигур (индивидуальное задание а)
На основе работы 3 разработайте программу в соответствии с индивидуальным заданием и убедитесь, что она работает правильно.