Выводим информацию о пользователе в окно заставки
Для этого нажмите File->New Form и Дельфи создаст вам новую форму. Измените ее размеры как вам хочется. Потом установите свойство BorderStyle вашей формы в 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;
Итак, форма-заставка готова. Теперь мы слегка ее усовершенствуем. Добавим такую же штуку, как в формах-заставках Microsoft Office, а именно на форме будет показываться имя пользователя и организация.
Для этого разместите на форме-заставке две метки Label. Первую назовите UserName, а вторую - Organization. Чтобы это сделать мы воспользуемся реестром (тас вообще очень много интересного можно найти).
Теперь откройте обработчик события OnCreate для формы-заставки и объявите там переменную R типа TRegistry, а в раздел uses всей программы добавьте Registry. Теперь нам нужно создать объект R:
R:=TRegistry.Create; R.RootKey:=HKEY_LOCAL_MACHINE; //именно здесь эта информация хранится R.OpenKey('SOFTWAREMicrosoftWindowsCurrentVersion', 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('SOFTWAREMicrosoftWindowsCurrentVersion', False); UserName.Caption:=r.readstring('RegisteredOwner'); Organization.Caption:=r.readstring('RegisteredOrganization'); r.Free; end;
Комментарии