Создание заставок для ваших программ
Наверно, каждый программист на Дельфи хоть раз хотел создать к какой-нибудь своей программе заставку. В этой статье мы рассмотрим создание заставок в Дельфи. Тому кто умеет работать более чем с одной формой в приложении, будет очень легко это понять. Чтобы не вдаваться в теорию, начнем сразу с практики.
Откройте
какое-нибудь свое приложение, к
которому вы хотите добавить заставку,
или создайте новое (на чистом проще
разбираться). Теперь необходимо
добавить в наш проект еще одну форму,
которая будет заставкой. Для этого
нажмите File->New Form и Дельфи создаст вам
новую форму. Измените ее размеры как
вам хочется. Потом установите свойство
Border Style вашей формы в bsNone (у формы не
будет заголовка и системных кнопок),
установите свойство Visible в false. Свойтсво
Position должно быть poScreenCenter - это значит,
что форма появится по центру экрана. И
чтобы не перепутать эту форму ни с
какой другой задайте ей имя Logo
.
Настройка
формы заставки произведена, теперь
необходимо сделать, чтобы по щелчку
мышкой по этой форме или после нажатия
клавиши или по истечении 5 секунд форма-заставка закрывалась. Для этого
установите на форму Timer, его свойству
Interval задайте значение 5000 (форма будет
закрываться через 5 секунд). В
обработчик события OnTimer напишите всего
одно слово: Close;
В
обработчик события OnClick для формы-заставки
напишите тоже самое. Установите
свойство формы KeyPreview в true (это делается
для того, чтобы при нажатии любой
клавиши вначале реагировала форма, а
затем тот элемент, который был в фокусе
в момент нажатия). А в обработчик
события OnKeyPress (для формы-заставки
конечно же) опять-таки
напишите close;
Форма-заставка готова полностью и теперь необходимо, чтобы она запускалась перед главной формой. Для этого сделайте активной вашу главную форму, перейдите на вкладку Events в Object Inspector'e и выберите событие OnShow. В обработчике этого события надо написать следующее:
logo.showmodal;
Меня иногда спрашивают, чем отличаются процедуры show и showmodal. У них только одно принципиальное различие: если форма открылась методом Showmodal, то пока она не закроется пользователь не сможет взаимодействовать с остальными формами приложения. А если форма была открыта методом Show, то пользователь легко может перейти к любой форме приложения.
Итак, форма-заставка готова. Теперь мы слегка ее усовершенствуем. Добавим такую же штуку, как в формах-заставках Microsoft Office, а именно на форме будет показываться имя пользователя и организация. Для этого разместите на форме-заставке две метки (Label). Первую назовите UserName, а вторую - Organization. Чтобы это сделать мы воспользуемся реестром (тас вообще очень много интересного можно найти). Теперь откройте обработчик события OnCreate для формы-заставки и объявите там переменную R типа TRegistry, а в раздел Uses всей программы добавьте Registry. Теперь нам нужно создать объект R :
R:=TRegistry.Create; R.RootKey:=HKEY_LOCAL_MACHINE; //именно здесь эта информация хранится R.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion', False);
Теперь необходимо прочитать нужные строки из этого раздела реестра и присвоить их соответствующим меткам:
UserName.Caption:=r.readstring('RegisteredOwner'); Organization.Caption:=r.readstring('RegisteredOrganization'); r.Free; //надо уничтожить этот объект, так как он нам больше не нужен
Таким образом весь этот обработчик должен иметь примерно такой вид:
procedure TLogo.FormCreate(Sender: TObject); var R:Tregistry; begin R:=TRegistry.Create; R.RootKey:=HKEY_LOCAL_MACHINE; R.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion', False); UserName.Caption:=r.readstring('RegisteredOwner'); Organization.Caption:=r.readstring('RegisteredOrganization'); r.Free; end;
Ну вот собственно и все что я хотел вам рассказать о заставках. Теперь ваши программы будут выглядеть более солидно. Но помните, что при создании небольших, вспомогательных программ, объем которых не превышает килобайт 100-150 заставки лучше не использовать.
Удачи в программировании...