Урок 5. Оформляем коллекцию
программ на CD
Освободившееся место слева используем для
размещения названий программ. Создайте текстовых объектов
столько, сколько программ должно быть на этой вкладке (у меня
в примере их шесть, смотри рисунок ниже). Не забудьте убрать
эти объекты в самый нижний уровень, иначе они будут
расположены поверх меню, а нам надо наоборот. Итак, мы щелкаем
кнопку "МЕНЮ", оно выплывает, мы выбираем категорию
"Антивирусы", меню "уплывает" обратно, и нашему взору
предстает список программ антивирусного назначения. Что по
логике должно быть дальше? А дальше при щелчке по названию
какой-либо программы должно появиться всё то, что изображено
ниже: информация о программе, серийные номера и кнопки для
установки самой программы и ее патчей (русификации и
обновлений).
Вот и создадим всё это в проекте. Информация о
программе - обычный текстовый блок. Три строчки внизу окна -
это объекты текста (надписи). Ну и три обычные кнопки для
запуска исполняемых файлов.
По первому пункту добавить нечего - текст и
текст. Про серийные номера объясню чуть ниже. А вот кнопкам
сразу можно назначить действие Run
Program, или в окне сценария выбрать команду Run и указать путь к исполняемому
файлу. Запись должна выглядеть примерно так:
Run("d:\Project\
Абсолютный путь в конце работы вы автоматически
замените на относительный <SrcDir>
или <SrcDrive> сразу для
всех команд. Как это сделать, говорилось на первом уроке,
поэтому повторяться не будем.
Аналогично назначаете действия кнопкам русификации и
обновления, если таковые имеются для данной программы.
Run("d:\Project\Antivir\panda
antivirus\panda
С кнопками разобрались, переходим к текстовым
объектам, предназначенным для серийных номеров. Ведь при
щелчке на этих объектах в буфер должна копироваться
информация, содержащая серийные номера и имена. Собственно,
сделать это очень просто. Каждому текстовому объекту нужно
назначить одинаковое по своей сути действие, и сценарий этот
выглядит так:
Data$='Здесь
введите серийный
номер' Clipboard("SEND","Data$") Message("Скопировано в
)
Основной здесь является команда
Clipboard(). Параметр SEND означает "послать в
буфер" (можно ведь еще и получать из буфера, верно?), а
переменная Data$ указывает, что именно послать. К
сожалению, вместо этой переменной не получится написать
непосредственно текст, который нужно послать в буфер, поэтому
переменная Data$ задается в
первой строке сценария, где между одинарными кавычками
(апострофами) вы должны разместить то, что нужно скопировать в
буфер обмена.
Команда Message("Скопировано в )
просто выводит сообщение о том, что все в порядке; эту строку
вы можете убрать из сценария (но не уберёте ведь, не так
ли?)
Сделав все вышеописанное, проверьте, копируется
ли в буфер нужная вам информация. Если все было сделано
правильно, будет однозначно работать.
Однако все вновь созданные объекты должны
появляться на странице только после щелчка по имени первой
программы в списке. А при щелчке по другим именам должны
появляться эти же объекты, но с другим содержанием. Здесь я
хочу заметить, что программа Multimedia
Builder позволяет использовать одни и те же объекты,
изменяя их действие в зависимости от других условий, но для
нас это сейчас слишком сложно, и мы пойдем более простым
путем.
Сгруппируйте все вновь созданные объекты (напомню
- три кнопки, три надписи и текстовый блок) и присвойте группе
имя CBK_Menu. После чего
сделайте ее скрытой. Как вы уже знаете из предыдущего опыта,
объект с таким именем будет скрыт всегда, как только щелкнут
мышью вне его границ. Это-то нам и надо. Назначим надписи с
первой программой в списке действие - показать объект CBK_Menu. И тогда при щелчке по названию
программы появится все необходимое для
установки программы. И пока вы будете щелкать мышью по кнопкам
и текстовым объектам внутри области объекта CBK_Menu, он будет оставаться
видимым. Как только вы щелкнете по пустому месту вне указанных
границ, объект скроется, и вызвать его можно будет только
повторным щелчком по названию программы в списке.
А если вы щелкните по названию следующей
программы в списке, то скроется объект CBK_Menu, а на его месте появится
что? Правильно, объект CBK_Menu1, относящийся к этой второй
программе. А получить этот объект нам очень просто -
достаточно скопировать и вставить уже созданный объект
CBK_Menu. Затем останется
только изменить информацию в уже готовых объектах на другую. А
если для данной программы не предусмотрены русификация, нет
серийных номеров и т.п., просто удалите из текущей группы
являющиеся лишними объекты.
Проверив работоспособность первой страницы вашего
проекта и убедившись, что все работает, можете смело
копировать все объекты этой страницы на оставшиеся семь
страниц. Так что и эти страницы почти готовы. Вам останется
лишь рутинная работа - изменять названия, пути к файлам,
текстовое описание и т.п.
Ну что еще добавить? Разумеется, описанный
проект далеко не единственное возможное решение, так как
разработан он лично мной и специально для этого материала.
Понятно, что при разработке проекта для себя можно
постараться получше, потратить времени побольше и удивить
друзей посильнее :))) Так что все зависит только от вашей
фантазии и умения работать головой. Зная основы работы с
объектами в Multimedia Builder,
можно творить чудеса.
А готовый файл проекта можно, как всегда, скачать прямо с этой страницы
(размер 25 Кб).
На этом можно было бы и закончить, но все-таки я
создал в проекте еще первую, стартовую страницу, на которой
нет программ, зато есть меню, которое расположено сразу на
нужном месте. А также поместил туда комментарий к собственному
диску - мол, собрал программы такой-то Андрюша, и не
ворованные, а из официальных источников, и не для продажи, а
для себя и своих друзей. А то ведь мало ли что...
Написать отзыв
Назад
|