Владимир Коробицын
Вставка этикеток. Извлечение текущей даты из компьютера. Управление приложением с клавиатуры. Многооконность приложения.
Если Вы хотите изготовить приложение собственного проигрывателя музыкальных компакт-дисков, то Ваш компьютер должен быть оснащен устройством чтения оптических CD-дисков и музыкальной картой. Если музыкальная карта отсутствует, то прослушивать записи придется посредством головных телефонов.
Создайте папку Lesson31. Поместите в нее файл поддержки мультимедийных объектов Mci.vbx. Запустите Visual Basic. Окно формы Form1 окрасьте, например, в темно-серый цвет. Добавьте в проект Вашего приложения файл Mci.vbx. Для этого в меню File (Файл) выберите команду Add File ... (Добавить файл …) и через появившееся окно загрузите файл поддержки Mci.vbx. В окне объектов появится значок мультимедийных объектов. Щелкните по кнопке с этим значком и поместите объект MMControl1 на форму Вашего приложения. В окне свойств объекта MMControl1 для свойств BackVisible, StepVisible, RecordVisible установите значение False (Ложь), так как эти кнопки в проигрывателе использоваться не будут. В процедуру Form_Load, которая вызывается сразу после загрузки приложения, впишите программный код:
Sub Form_Load ( )
MMControl1.DeviceType = "CDAudio"
MMControl1.Command = "Open"
MMControl1.Command = "Play"
End Sub
Первая строка программного кода активизирует устройство чтения компакт-дисков, следующая строка открывает первую музыкальную запись, и последняя строка заставляет воспроизводить мелодии с диска по порядку.
В устройство для CD-дисков поместите музыкальный компакт-диск. Запустите приложение. Проигрыватель начнет воспроизводить первую запись на компакт-диске. Если этого не произойдет, вызовите в Windows стандартную панель управления звуком Volume Control и меню «Параметры» выберите команду «Свойства», где включите CD Audio. Теперь должен появиться звук, в противном случае проверьте правильность написания программного кода.
Во время работы приложения изучите назначение каждой клавиши вновь созданного проигрывателя. Для этого поочередно щелкайте мышкой по клавишам проигрывателя.
В окно приложения можете поместить, выбранный на Ваше усмотрение рисунок.
В окне Properties (Свойства) для формы Form1 выберите свойство Caption (Надпись) и измените его значение на «Проигрыватель музыкальных компакт-дисков». Для полного останова проигрывателя и выхода из приложения создайте командную кнопку Command1. В процедуру прерывания Command1_Click запишите программный код:
Sub Command1_Click ( )
MMControl1.Command = "Stop"
MMControl1.Command = "Close"
End
End Sub
Первая строка останавливает воспроизведение любой записи компакт-диска, следующая строка закрывает файл мелодии для объекта MMControl1, и последняя строка полностью завершает работу приложения. Надпись на командной кнопке измените на надпись «Выход». Если Вы хотите, чтобы мелодии продолжали звучать после завершения работы приложения, смонтируйте еще одну командную кнопку Command2 и для нее в процедуру прерывания Command2_Click впишите только последнюю строку из процедуры Command1_Click, опустив две первые строки. Если через некоторое время все-таки возникнет необходимость в останове воспроизведения музыкального диска, то это можно сделать вручную, нажав на кнопку «Выезд диска» устройства для воспроизведения оптических дисков.
Для объекта MMControl1 самостоятельно изучите свойство Orientation (Расположение), которое может принимать два значения: 0-Horizontal (Горизонтальное) и 1-Vertical (Вертикальное).
А теперь рассмотрим операцию размещения этикеток в приложении. На панели объектов щелкните по значку «Этикетка» и поместите объект Label1 (Этикетка первая) на форму приложения. В окне Properties (Свойства) для этого объекта измените значение свойства Caption (Заголовок) на произвольную надпись, например, «Мир мелодий, также неисчерпаем, как и сама вселенная». Самостоятельно поэкспериментируйте со свойствами этикетки. Обязательно посмотрите, как работает свойство этикетки BackStyle (Стиль фона). Затем создайте вторую этикетку – Label2. Ее свойству Caption придайте значение сегодняшней даты. Для этого в процедуру Form_Load допишите строку:
Label2.Caption = Date ' показать дату
Теперь запустив приложение, Вы обнаружите в его окне сегодняшнюю дату.
Если Вы не любите «мышиную возню», то попробуйте управлять данным приложением только с клавиатуры. Visual Basic автоматически назначает наиболее употребительные клавиши управления приложениями для Windows. Это клавиши – «Enter», «Курсоры», «Пробел», «Tab», «Esc» и другие. Отодвиньте мышь на дальний край Вашего рабочего стола, с клавиатуры запустите приложение и поработайте в нем. Затем, по-прежнему не прибегая к помощи мыши, закройте приложение. В уроке № 4 Вы узнаете, как можно назначить любую клавишу для реакции приложения на действия пользователя.
А теперь вкратце остановимся на возможности построения многооконных приложений. В только что созданное приложение добавьте второе окно, где расположите сведения об авторстве на это приложение. Из папки Lesson31 запустите проект приложения Project1.mak. В области панели инструментов щелкните по значку «Открытие новой формы» или в меню File (Файл) выберите New Form (Новая форма). Ваше приложение дополнится еще одной формой Form2. Уменьшите размеры новой формы в расчете на то, чтобы на ней поместились минимальные сведения об авторе. Переместите ее в нужную для Вас область экрана. Окрасьте окно этой формы в произвольный цвет, например, серый. Для вызова второго окна установите на форме Form1 первого окна кнопку Command3. Ее свойству Caption (Надпись) придайте значение «О программе» и в процедуру прерывания Command3_Click впишите программное утверждение:
Form2.Show ‘ показать вторую форму
Эта строка, при нажатии на кнопку «О программе» в поле первого окна, покажет второе окно в определенном месте экрана. Для формы Form2 свойству Caption (Надпись) придайте значение «О программе», свойству BorderStyle (Граничный стиль) придайте значение 3-Fixed Double. Во втором окне расположите небольших размеров рисунок или пиктограмму (расширение ICO). Если у Вас окажется под рукой сканер, поместите во второе окно свою фотографию. Поместите в это окно сведения о названии программы, о дате ее создания, Ваше имя, телефон и другое. Для этой цели несколько раз используйте объект Label (Этикетка).
Во избежании путаницы при создании многооконного приложения необходимо указывать перед именем объекта имя формы, которой принадлежит тот или иной объект. Например, строка из программного кода приложения «Проигрыватель музыкальных компакт-дисков» теперь будет выглядеть так:
Form1.Label2.Caption = Date ‘ показать дату
А для второй этикетки второй формы можно записать, например:
Form2.Label2.Caption = “Омск 2000 Россия”
Если Вы хотите скрыть вторую форму Form2 на каком-либо этапе работы Вашего приложения, то в нужную процедуру прерывания включите строку:
Form2.Hide ‘ скрыть вторую форму
Можно данное программное утверждение поместить, например, в процедуру прерывания второй формы Form_Deactivate. Эта процедура сработает при свершении такого события, как наступление пассивного состояния второго окна.
Для загрузки формы в память существует оператор Load (Загрузить). Например, для второй формы он применяется так:
Load Form2 ‘ загрузка второй формы в память
Чтобы выгрузить форму, используйте оператор Unload. Для удаления второй формы из памяти необходимо программное утверждение:
Unload Form2 ‘ выгрузка второй формы из памяти
Если применена команда Show (Показать) до выполнения команды Load (Загрузить), то команда Show автоматически загрузит форму, а затем покажет ее. И все-таки часто возникает необходимость в использовании оператора Load, например, для предварительной загрузки формы, содержащей большое число объектов. Тогда неприятное притормаживание будет скрыто от взора пользователя. Иногда во время работы приложения полезно выгружать из памяти формы, которые не отображены на экране в данное время. Тем самым Вы справитесь с перегрузкой памяти.
Домашнее задание
1. В одно из приложений первого или второго уроков добавьте два новых окна. Первое из этих окон должно содержать сведения о текущих дате и времени, а второе превратите в проигрыватель музыкальных компакт-дисков.
2. Самостоятельно изучите объект Line (Линия) и его свойства. Подумайте, как применить этот объект в ранее созданных Вами приложениях.
3. Самостоятельно исследуйте объект типа Frame (Фрейм) и его свойства. Используйте этот объект для оформления Ваших программ.
И еще. Непременно исследуйте все имеющиеся у Вас оптические диски (даже с игровыми программами) путем запуска их из созданного Вами проигрывателя. Иногда совершенно неожиданно начинают звучать мелодии из программ, в которых они должны воспроизводиться только во время работы этих программ.