Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование устройств ввода информации в ЭВМ. методические указания к лабораторным работам по дисциплинам «Организация периферийных устройств», «Архитектура информационных систем». Питолин А.В.doc
Скачиваний:
14
Добавлен:
01.05.2022
Размер:
126.46 Кб
Скачать

Пример гашения курсора

Если свойство Checked компоненты CheckBox1 равно true, то курсор гасится. Иначе -  восстанавливается. 

TCheckBox *CheckBox1;  void main ()  {  if (CheckBox1->Checked) while (ShowCursor(false)>=0);// гарантированное гашение курсора   else while (ShowCursor(true)<0);// гарантированное восстановление курсора  } 

Реверсирование кнопок мыши

Если кнопки били реверсированы, то их назначение восстанавливается. Иначе - кнопки реверсируются. 

void main (){SwapMouseButton(!GetSystemMetrics(SM_SWAPBUTTON));} 

Ограничение перемещения курсора

Если свойство Checked компоненты CheckBox1 равно true, то область перемещения курсора мыши ограничена окном приложения. Иначе -  перемещение курсора разрешено по всему экрану. 

void main ()  {  RECT sqare;  if (CheckBox1->Checked)  {sqare.left=Left; sqare.top=Top; sqare.right=Left+Width; sqare.bottom=Top+Height;   ClipCursor(&sqare);}  else   {sqare.left=0; sqare.top=0; sqare.right=GetSystemMetrics(SM_CXSCREEN); -     sqare.bottom=GetSystemMetrics(SM_CYSCREEN); ClipCursor(&sqare);}  } 

Установка позиции курсора мыши

Значение новой позиции курсора берется из свойства Text компонент Edit1 и Edit2.

void main (){SetCursorPos(atoi(Edit1->Text.c_str()),atoi(Edit2->Text.c_str()));}

Задание скорости перемещения курсора

Шкала компоненты TrackBar1 устанавливает одно из семи значений скорости мыши. 

TTrackBar *TrackBar1;  void main ()  {  int mousePos[7][3]={{0,0,0},{10,0,1},{7,0,1},{4,0,1},{4,12,2},{4,9,2},{4,6,2}};  int lpiMouse[3];  lpiMouse[0]=mousePos[TrackBar1->Position][0];  lpiMouse[1]=mousePos[TrackBar1->Position][1];  lpiMouse[2]=mousePos[TrackBar1->Position][2];  SystemParametersInfo(SPI_SETMOUSE,0,lpiMouse,SPIF_SENDWININICHANGE);  } 

3. Лабораторное задание

3.1. Порядок выполнения лабораторной работы

В лабораторной работе требуется разработать программное приложение, реализующее функции управления устройствами ручного ввода ЭВМ с помощью функций WIN32API, согласно варианту задания. Варианты задания приведены в таблице.

Варианты заданий

номер варианта

информация о клавиатуре

информация

о мыше

управляющие функции

getkeyboardtype

getkeyboardstate

getkeystate

getasynckeystate

getcursorpos

getkeyboardstate

getsystemmetrics

systemparametersinfo

setkeyboardstate

showcursor

swapmousebutton

clipcursor

setcursorpos

systemparametersinfo

1

+

+

+

+

+

+

+

2

+

+

+

+

+

+

+

3

+

+

+

+

+

+

+

4

+

+

+

+

+

+

+

5

+

+

+

+

+

+

+

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]