
- •Методичні вказівки до лабораторних робіт по курсу "системне програмування "
- •Методичні вказівки
- •До лабораторних робіт по курсу
- •"Системне програмування "
- •Частина 1. “Програмування для Windows 95/nt”
- •1.Общие положения
- •1.2. Порядок выполнения работы
- •1. 4. Оценивание выполнения работы
- •2. Структура windows - приложений. Оконная процедура. Обработка сообщений
- •2.1. Цель работы
- •2.2. Указания по подготовке к выполнению лабораторной работы
- •2.4. Задание на лабораторную работу
- •2.5. Контрольные вопросы и задания
- •3. Контексты устройств. Вывод текста
- •3.1. Цель работы
- •3.2. Указания по подготовке к выполнению лабораторной работы
- •3.3. Обзор темы работы
- •3.4. Задание на лабораторную работу
- •3.5. Контрольные вопросы и задания
- •4. Графический интерфейс пользователя (graphical user interface, gui)
- •4.1. Цель работы
- •4.2. Указания по подготовке к выполнению лабораторной работы
- •4.3. Сущность работы
- •4.4. Задание на лабораторную работу
- •4.5. Контрольные вопросы и задания
- •5. Средства ввода информации
- •5.1. Цель работы
- •5.2. Указания по подготовке к выполнению лабораторной работы
- •5.3. Обзор темы работы
- •5.4. Задание на лабораторную работу
- •5.5. Контрольные вопросы и задания
- •6. Использование ресурсов
- •6.1. Цель работы
- •6.2. Указания по подготовке к выполнению лабораторной работы
- •6.3. Обзор темы работы
- •6.4. Задание на лабораторную работу
- •6.5. Контрольные вопросы и задания
- •7. Многозадачность и многопоточность
- •7.1. Цель работы
- •7.2. Указания по подготовке к выполнению лабораторной работы
- •7.3. Обзор темы работы
- •7.4. Задание на лабораторную работу
- •7.5. Контрольные вопросы и задания
- •8. Многооконный интерфейс
- •8.1. Цель работы
- •8.2. Указания по подготовке к выполнению лабораторной работы
- •7.3. Обзор темы работы
- •7.4. Задание на лабораторную работу
- •8.5. Контрольные вопросы и задания
- •9.4. Задание на лабораторную работу
- •9.5. Контрольные вопросы и задания
- •Список литературы
- •Содержание
5.5. Контрольные вопросы и задания
Какие средства ввода информации Вы знаете?
Дайте определение таким понятием как «каретка» и «курсор»?
Чем отличаются аппаратные (keystrokes) и символьные (characters) сообщения?
Какие сообщения от клавиатуры обрабатываются оконной процедурой?
Перечислите сообщения, поступающие от мыши.
Что такое «фокус ввода»?
Как вы думаете, можно ли получить сообщения от мыши, если курсор находится за пределами окна?
Как рисовать за пределами окна приложения?
Как обрабатываются нажатия кнопки в рабочей области окна, созданной функцией CreateWindow?
Каким образом можно получить информацию о наличии мыши в системе и ее характеристики?
6. Использование ресурсов
6.1. Цель работы
Ознакомление с ресурсами как средством создания визуального интерфейса и задания параметров и характеристик программного приложения, получение практических навыков по составлению, написанию и отладке программ, содержащих в ресурсных файлах описание курсоров, битовых образов, окон диалога, меню.
6.2. Указания по подготовке к выполнению лабораторной работы
Необходимо изучить особенности основных видов ресурсов (иконок, курсоров, битовых образов, символьных строк, меню, окна диалога и т.д.), а также порядок их определения в ресурсных файлах приложения и их формирование во время функционирования программы.
При подготовке к работе необходимо изучить конспект лекций по указанной теме, методические указания, а также разделы, указанные в [16, c.441-469], [17, c.25-27].
6.3. Обзор темы работы
В большинство программ для Windows включаются пользовательские значки (например, пользователь видит их на экране в левом углу строки заголовка окна приложения), курсоры (при передвижении мыши вид курсора меняется), меню, дочерние окна управления. Все это виды ресурсов (resources) Windows. Ресурсы являются данными, и они хранятся в .ехе файле программы, но расположены они не в области данных, где обычно хранятся данные исполняемых программ. Таким образом, к ресурсам нет непосредственного доступа через переменные, определенные в исходном тексте программы. Они должны быть явно загружены из файла с расширением .ехе в память.
Для выполнения лабораторной работы необходимо изучить следующие виды ресурсов: иконки (icons), курсоры (cursors), битовые образы (bitmaps), символьные строки (character strings), меню (menus), быстрые клавиши (keyboard accelerators), окна диалога (dialog boxes), ресурсы пользователя (user defined resources), - а также набор функций API работы с ресурсами.
Следует уяснить, что программа работает с описателями всех видов объектов. Функции, которые создают или читают объекты из ресурсов возвращают указатель на объект, который в дальнейшем используется в процедурах вывода и преобразования.
Особое внимание следует уделить следующим группам функций API:
Чтения объектов из ресурсов (LoadCursor, LoadIcon, LoadString, LoadResource, LoadBitmap, LoadMenu)
Создания объектов (см. пп.3, 4).
Выбора объекта в контекст (SelectObject).
Управления объектами: например, для меню существует группа функций изменения меню в процессе выполнения программы (AppendMenu, DeleteMenu, InsertMenu, ModifyMenu, RemoveMenu, GetSubMenu и т.п.).
Управления диалоговыми окнами (DialogBox).
Одним из широко используемых видов ресурса являются описатели диалоговых окон. Диалоговые окна бывают модальными и немодальными. Наиболее часто используются модельные окна. Эти окна не дают пользователю работать с другими окнами приложения, но разрешают переключаться на работу с другими приложениями. Для того чтобы пользователь мог продолжить работу с приложением, необходимо завершить работу с диалоговым окном. Немодальные диалоговые окна не требуют своего завершения для продолжения работы, и пользователь может во время работы с ними свободно переключаться на любое окно приложения и другие приложения.