- •0915 “Компьютерная инженерия”специальностей:
- •7.091501 "Компьютерные системы и сети"
- •7.091502 "Системное программирование
- •Оглавление
- •Общие положения
- •1. Получение и вывод информации о вычислительной системе
- •1. Получение и вывод информации о вычислительной системе
- •1.1. Цель работы
- •1.2. Указания по подготовке к выполнению лабораторной работы
- •1. 3. Обзор темы работы
- •Функции и структуры для получения информации о вычислительной системе
- •1.4. Задание на лабораторную работу
- •Контрольные вопросы и задания
- •2. Графический интерфейс пользователя (graphical user interface, gui)
- •2.1. Цель работы
- •2. 2. Указания по подготовке к выполнению лабораторной работы
- •2.3. Обзор темы работы
- •2 .4. Задание на лабораторную работу
- •2.5. Контрольные вопросы и задания
- •3. Программирование интерфейса пользователя и эвм
- •3.1. Цель работы
- •3. 2. Указания по подготовке к выполнению лабораторной работы
- •3. 3. Обзор темы работы
- •Поток необработанного ввода
- •Фрагмент примера для организации работы с клавиатурой
- •3.4. Задание на лабораторную работу
- •3.5. Контрольные вопросы и задания
- •4. Многозадачность и многопоточность
- •4. 1. Цель работы
- •4.2. Указания по подготовке к выполнению лабораторной работы
- •4.3. Обзор темы работы
- •4.4. Задание на лабораторную работу
- •5.5. Контрольные вопросы и задания
- •Список литературы
Фрагмент примера для организации работы с клавиатурой
/* Сообщение приходит, когда нажата клавиша.
по параметру wparam оконной процедуры можно
узнать, что это была за клавиша.
*/
case WM_KEYDOWN:
switch(wparam) // wparam хранит виртуальный код нажимаемой клавиши
{
// нажата стрелка вправо
case VK_RIGHT:
…..
//нажата стрелка вверх
case VK_UP: … break;
//нажата стрелка вниз
case VK_DOWN…. break;
//нажата Enter ….
case VK_RETURN:……break;:
// Если нажата Esc
case VK_ESCAPE: ….
break;
}
return 0;
При подготовке к работе необходимо изучить методические указания данного раздела и методические указания к практическим занятиям, а также разделы, указанные в [16, c.255-441], [17, c.88-101].
3.4. Задание на лабораторную работу
-
Номер варианта
Задание
1
2
1
Написать программу, которая следит за перемещением указателя мыши и выводит его координаты в окне приложения. Если при выходе за окно правая кнопка мыши нажата, программа продолжает следить за перемещением мыши и выводить ее координаты.
2
Написать программу телетайпа, которая выводит в окно приложения символы нажатых клавиш.
3
Написать программу перемещения простого изображения по окну приложения по нажатию клавиш управления курсором.
4
Написать программу, рисующую прямоугольники при помощи курсора мыши. Нажатие правой кнопки мыши определяет положения углов прямоугольника. С помощью левой кнопки мыши можно нарисовать прямоугольник с цветом фона (очистка прямоугольной области).таким образом, чтобы все значения функции были выведены в пределах окна приложения.
5
Написать программу, рисующую полигон при помощи мыши. Пользователь задает координаты точек при помощи левой кнопки мыши. Двойной щелчок сигнализирует о последней точке полигона.
6
Написать программу, которая рисует непрерывную линию при передвижении мыши по окну приложения с нажатой левой кнопкой. Изображение должно обновляться по приходу события WM_PAINT.
7
Написать программу, позволяющую рисовать линии. Нажатие левой кнопки мыши определяет первую точку линии. Не отпуская кнопки, пользователь перемещает мышь во вторую точку отрезка. Отпускание кнопки приводит к фиксации второй точки линии. Во время движения с нажатой кнопкой мыши, линия должна перерисовываться.
8
Написать программу, эмулирующую работу мыши при помощи клавиатуры. По нажатию определенных клавиш курсор мыши передвигается в пределах окна приложения. При эмуляции нажатия левой клавиши происходит изменение цвета фона.
9
Написать программу, рисующую олимпийские кольца. По нажатию клавиш с цифрами 1-5 одно из колец с соответствующим номером меняет свой цвет. То же самое происходит при щелчке мыши на одном из колец.
