Владимир Коробицын
Реакция приложения на левую и правую кнопки мыши
Создайте папку Lesson21. Для удобства в работе поместите в нее файлы 05.bmp, 06.bmp, 01.mid, 01.wav, 02.wav, 03.wav, 04.wav, Mci.vbx. Запустите Visual Basic. Окно формы Form1 «выкрасите» в серый цвет и поместите в него два рисунка в виде объектов Picture (Рисунок) из файлов 05.bmp, 06.bmp. Для обоих рисунков в окне Properties (Свойства) для свойства AutoSize (Авто размер) установите значение True (Истина), а для свойства BorderStyle (Граничный стиль) значение 0-None (Нет). Чтобы озвучить Ваше приложение, необходимо в его проект добавить файл Mci.vbx. Для чего в меню File выберите команду Add File ... (Добавить файл …) и через появившееся окно загрузите файл Mci.vbx. В окне объектов появится значок мультимедийных объектов MMControl (Microsoft Multimedia Control). Файл Mci.vbx необходим в тех случаях, когда вы хотите, чтобы Ваше приложение не было «немым». Это файл поддержки мультимедийных объектов. Кроме того, компьютер должен быть оснащен музыкальной картой. В окне объектов щелкните по кнопке со значком мультимедийных объектов и поместите объект MMControl1 на форму Вашего приложения. Для свойства Visible (Видимость) объекта MMControl1 установите значение False (Ложь), так как в данном приложении лучше этот объект сделать «невидимым». Для свойства FileName (Имя файла) запишите значение 01.wav. Щелкните два раза по изображению телефона для вызова процедуры события Picture1_Click. Процедура события Picture1_Click будет вызываться в работе программы всякий раз, когда пользователь щелкнет мышкой по рисунку Picture1. В данную процедуру впишите программный код:
MMControl1.Command = "Close"
MMControl1.Command = "Open"
MMControl1.Command = "Play"
Вторая строка объекту MMControl1 подаст команду открытия файла 1.wav, третья строка заставит объект MMControl1 воспроизвести звуковой файл 1.wav. Первая строка необходима для закрытия проигрывателя, в случае если пользователь пожелает прослушать данный звук еще раз.
Сохраните проект приложения в папке Lesson21 и закройте Visual Basic. Из выше указанной папки запустите проект Вашего приложения Project1.mak, который автоматически вызовет Visual Basic и загрузит приложение. Запустите приложение. Во время работы приложения понажимайте мышью на изображение телефона несколько раз. Вы должны услышать звук телефонного вызова.
В окно приложения поместите объект MMControl2. Не забудьте сделать его «невидимым». Для его свойства FileName (Имя файла) установите значение 02.wav. В процедуру события Picture2_Click впишите аналогичный программный код:
MMControl2.Command = "Close"
MMControl2.Command = "Open"
MMControl2.Command = "Play"
Откомпилируйте программу. Завершите работу в Visual Basic. Запустите приложение Project1.exe. Поочередно понажимайте мышью на изображения телефона и собаки. Закройте приложение.
Продолжим работу над приложением «Движение автомобиля» из первого урока. Создайте папку Lesson22 и скопируйте в нее файлы Project1.mak и Form1.frm из папки Lesson12. Добавьте в папку Lesson22 файлы Mci.vbx, 01.mid, 03.wav, 04.wav.
Из папки Lesson22 запустите приложение Project.mak. В меню File (Файл) выберите команду Add File ... (Добавить файл …) и через появившееся окно загрузите файл Mci.vbx. В окне объектов появится значок мультимедийных объектов MMControl (Microsoft Multimedia Control). Поместите на форму Form1 два объекта: MMControl1 и MMControl2. Для свойства Visible (Видимость) этих объектов установите значение False (Ложь). Для того чтобы сразу после запуска приложения зазвучала музыка, воспользуйтесь процедурой Form_Load, которая сработает при загрузке формы Form1. В данную процедуру Form_Load поместите строки программного кода:
MMControl1.FileName = "01.mid"
MMControl1.Command = "Close"
MMControl1.Command = "Open"
MMControl1.Command = "Play"
Первая строка для объекта MMControl1 присваивает его свойству FileName (Имя файла) значение «01.mid». Как работают остальные строки, Вы уже знаете.
В процедуру прерывания Picture1_Click добавьте строки:
MMControl2.FileName = "03.wav"
MMControl2.Command = "Close"
MMControl2.Command = "Open"
MMControl2.Command = "Play"
В процедуре прерывания Form_Click допишите строки:
MMControl2.FileName = "04.wav"
MMControl2.Command = "Close"
MMControl2.Command = "Open"
MMControl2.Command = "Play"
Запустите программу на выполнение в среде Visual Basic. Работа приложения будет проходить на фоне мелодии. При нажатии мышью на автомобиль, последний начнет двигаться, а при его остановке Вы услышите скрип тормозов. При нажатии на свободное от рисунка поле окна приложения автомобиль будет возвращен на стартовую позицию в сопровождении сигнала. Поработав в приложении, закройте его.
А теперь заставьте приложение отличать щелчки левой и правой кнопок мыши. Для начала удалите все программные утверждения из процедуры Picture1_Click. Для управления объектом Picture1 (Рисунок) воспользуемся процедурой прерывания Picture1_MouseDown, которая вызывается всякий раз, когда кнопка мыши оказывается по приказу пользователя внизу, а указатель мыши в поле рисунка Picture1. Процедуру Picture1_MouseDown заполните программным кодом следующим образом:
Sub Picture1_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button And 1 Then ‘ условие щелчка левой кнопкой мыши
For n = 1 To 250
Picture1.Left = Picture1.Left – 30 ‘ передвижение вперед
Next
End If ‘ конец условия
If Button And 2 Then ‘ условие щелчка правой кнопкой мыши
For n = 1 To 250
Picture1.Left = Picture1.Left + 15 ‘ передвижение назад
Next
End If ‘ конец условия
MMControl2.FileName = "03.wav"
MMControl2.Command = "Close"
MMControl2.Command = "Open"
MMControl2.Command = "Play"
End Sub
Запустите приложение. Наводя указатель мыши на изображение автомобиля, щелкайте поочередно левой и правой кнопками мышки. Автомобиль будет передвигаться вперед и задним ходом, причем с различной скоростью. Объясните, почему это возможно, внимательно разобрав работу программных утверждений процедуры Picture1_MouseDown.
Если у Вас трехкнопочная мышка, то Вы можете задействовать и среднюю кнопку, изменив или добавив условие:
If Button And 4 Then ‘ условие щелчка средней кнопкой мыши
Сохраните проект в папке Lesson22. Создайте исполняемый EXE-файл. Проверьте работоспособность этого файла.
Домашнее задание
1. Изготовьте приложение, в окне которого будет размещено пять командных кнопок. При щелчке мышью по любой из них должна звучать одна из пяти различных мелодий. Для этой цели используйте любые файлы с расширением MID. Не забудьте Ваше приложение украсить подходящим для этого случая рисунком или фотографией.
2. Создайте приложение, в котором будут присутствовать волк и заяц (или любые другие животные). Подберите два звуковых файла с расширением WAV. Сделайте так, чтобы при щелчке левой кнопкой мыши по изображениям животных издавались различные звуки, а при щелчке правой кнопкой – они исчезали. Поместите на форму приложения кнопку, которая позволяла бы увидеть исчезнувших животных. Если Ваш компьютер снабжен микрофоном, то без большого труда можно создавать для своих приложений звуковые файлы с расширением WAV. Для записи звука можно использовать, например, стандартное приложение в Windows «Звукозапись».
3. Для объекта Form (Форма) самостоятельно изучите его свойство WindowState (Статус окна), которое может принимать три значения от 0 до 2.
|