Инфоурок Информатика Другие методич. материалыПрактическая работа по программированию

Практическая работа по программированию

Скачать материал

Практическая работа №14

Тема: «Приложения, обрабатывающие сообщения от драйвера "мыши" и таймера»

Цель работы: приобретение навыков создания приложений, обрабатывающих клавиатурные сообщения и сообщения от драйвера "мыши.

Ход работы:

1.     Изучить теоретическую часть

2.     Выполнить задание в соответствии с указаниями

3.     Ответить на контрольные вопросы

4.     Предъявить преподавателю результаты работы: проект и исходный код

5.     Оформить отчет в соответствии с ходом работы

Теоретическая часть:

#make_COM#

ORG 100h

 

.data

str db 'qwertyuiopasdfghjklzxcvbnmfgjhserssdfgf'

 

.code

mov bx, 2

mov cx, 1

mov SI, offset str

label:

add cx, 1

cld  

add SI, bx

cmp cx, 15

lodsb  

jb label

 

ret

Для создания событий удобно использовать диалог Add Procedure в меню Tools.

Пример 1:  программа, которая будет проверять нажатия некоторых клавиш. На форму ничего не размещать, вот код:

Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown

If e.Control = True And e.KeyCode = Keys.Q Then MsgBox("Нажата Control и Q")

 ' Если нажата клавиша Contro(вместо неё можно написать Alt или Shift) и Q то выдаем сообщение

End Sub

Свойство KeyCode не умеет обрабатывать русские буквы.

Пример 2:  Для обработки русских и прописных букв надо использовать событие KeyPress и свойство KeyChar. Вот код:

  Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress

If e.KeyChar = "п" Then MsgBox("Нажата клавиша: п")

' Если нажата клавиша 'п' то выводим сообщение

End Sub

Пример 3:  сделаем программу, которая будет узнавать координаты курсора. На форме размести 2 метки, и таймер(Interval=100, Enabled=True). Код:

  Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

' В метки записываем координаты курсора по оси X и Y

Label1.Text = Cursor.Position.X

Label2.Text = Cursor.Position.Y

End Sub

Пример 4:  Теперь сделаем программу, которая будет перемещать курсор. На форме разместить кнопку. Код программы:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

' При нажатии на кнопку передвигаем курсор(Point переводится как пункт, New - новый)

Cursor.Position = New Point(100, 100)

End Sub

У каждого видимого объекта есть свойство Cursor. Оно нужно для того, чтобы при наведении курсора на объект, у него менялся курсор.

Пример 5: Сейчас сделаем программу, в которой при наведении на текстовое поле курсора, курсор менялся на стандартный курсор Hand. На форме разместите текстовое поле, код:

  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

' При загрузке формы, у текст. поля меняем курсор на стандартный. Объект Cursors содержит все стандартные курсоры.

TextBox1.Cursor = Cursors.Hand

End Sub

Пример 6:  пример того как можно скрыть курсор мыши.

ВАРИАНТ №1

СОЗДАЙТЕ МОДУЛь.

Private Declare Function ShowCursor Lib "user32" _

    (ByVal bShow As Long) As Long

     Const HIDE_CURSOR = (0)

    Const SHOW_CURSOR = (1)

Public Function ShowCur()

        Call ShowCursor(SHOW_CURSOR)

End Function

Public Function HideCur()

    Call ShowCursor(HIDE_CURSOR)

End Function

       СОЗДАЙТЕ ФОРМУ

Private Sub Command1_Click()

    ShowCur 'Показываем курсор

End Sub

Private Sub Command2_Click()

    HideCur 'Скрываем курсор

End Sub

ВАРИАНТ №2

КОД ФОРМЫ

Private Declare Function ShowCursor Lib "user32" _

                (ByVal bShow As Long) As Long

Private Sub Command1_Click()

    Call ShowCursor(0) 'Скрываем курсор

End Sub

Private Sub Command2_Click()

    Call ShowCursor(1) 'Показываем курсор

End Sub

 

Пример 7:  В этом примере представлены коды основных клавиш. Например, у CTRL вообще не определяется ASCII код.

vbKeyF1 - От F1

...

vbKeyF12 - До F12

vbKeyA - От A

...

vbKeyZ - До Z(только английские буквы (заглавные и обычные))

vbKeyBack - BackSpace

vbKeyInsert - Insert

vbKeyHome - Home

vbKeyPageUp - Page Up

vbKeyDelete - Delete

VbKeyEnd - End

VbKeyPageDown - Page Down

vbKeyNumlock - Num Lock

vbKeyCapital - Caps Lock

vbKeyEscape - Esc

vbKeyReturn - Enter

vbKeySpace - Пробел

vbKeyShift - Shift

vbKeyTab - TAB

VbKeyControl - CTRL

vbKeyMenu - ALT

VbKeyLeft - Стрелка влево

VbKeyRight - Стрелка в право

VbKeyDown - Стрелка в низ

VbKeyUp - Стрелка вверх

Код:

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)

If KeyCode = vbKeySpace Then MsgBox "Нажат пробел"

' Если нажат пробел то выскакивает сообщение

End Sub

 

Пример 8:  Запрет ввода определенных символов.

На форму добавим текстовое поле, откроем код проекта, выберем текстовое поле и событие KeyPress. Это событие наступает, когда нажата клавиша.

Внутри события напишем этот текст:

Select Case KeyAscii

Case 0 To 192 - код символа

Case Else

KeyAscii = 0

End Select

0 To 192 - код символа латинских символов.

Case Else - в противном случае

KeyAscii = 0 - не вводить дальше.

Запрещаем ввод латинских символов:

Private Sub Text1_KeyPress(KeyAscii As Integer)

    Select Case KeyAscii

        Case 192 To 256

        Case Else

        KeyAscii = 0

    End Select

End Sub

Запретит всех символов кроме номера, 0-9 :

Private Sub Text1_KeyPress(KeyAscii As Integer)

    Select Case KeyAscii

        Case 48 To 57

        Case Else

        KeyAscii = 0

    End Select

End Sub

Задание 1: Написать программу, которая будет проверять нажатия клавиш «S» и «Y».

Задание 2: Написать программу, которая обрабатывает нажатие русских и прописных букв «A» и «д».

Задание 3: Создать программу, которая будет узнавать координаты курсора, и выводить их в текстовые поля. Добавить на форму кнопку остановки таймера.

Задание 4: Создать программу, в которой при наведении на кнопку курсора, курсор менялся на стандартный курсор Hand.

Задание 5: Создать программу, которая выводит сообщение «Нажата клавиша Shift» при нажатии клавиши Shift.

Контрольные вопросы:

1.     Какие события обработки клавиатурных сообщений использовались в созданных вами программах?

2.     Какое свойство курсора отвечает за его положение?

3.     Какое свойство курсора отвечает за его скрытие?

4.     Как запретить ввод латинских символов?

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Практическая работа по программированию"

Методические разработки к Вашему уроку:

Получите новую специальность за 2 месяца

Карьерный консультант

Получите профессию

Менеджер по туризму

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 665 126 материалов в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 21.12.2016 481
    • DOCX 29.9 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Ченская Ирина Борисовна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Ченская Ирина Борисовна
    Ченская Ирина Борисовна
    • На сайте: 8 лет и 1 месяц
    • Подписчики: 0
    • Всего просмотров: 112752
    • Всего материалов: 70

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Технолог-калькулятор общественного питания

Технолог-калькулятор общественного питания

500/1000 ч.

Подать заявку О курсе

Курс повышения квалификации

Специфика преподавания информатики в начальных классах с учетом ФГОС НОО

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Сейчас обучается 39 человек из 20 регионов
  • Этот курс уже прошли 284 человека

Курс профессиональной переподготовки

Педагогическая деятельность по проектированию и реализации образовательного процесса в общеобразовательных организациях (предмет "Информатика")

Учитель информатики

300 ч. — 1200 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Этот курс уже прошли 20 человек

Курс повышения квалификации

Методы и инструменты современного моделирования

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Сейчас обучается 37 человек из 19 регионов
  • Этот курс уже прошли 69 человек

Мини-курс

Основы творческой фотографии

6 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 225 человек из 59 регионов
  • Этот курс уже прошли 35 человек

Мини-курс

Практика гештальт-терапии: техники и инструменты

5 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 312 человек из 64 регионов
  • Этот курс уже прошли 66 человек

Мини-курс

Состав и анализ финансовой отчетности

5 ч.

780 руб. 390 руб.
Подать заявку О курсе