Создание splash-заставки
Brutus
Думаю многие знают, что такое splash-картинка, но все же поясню: это картинка, которая предшествует запуску основной программы и обычно отображается во время загрузки программы, что бы пользователю было не так скучно ждать, пока загрузится программа. Подобную splash-картинку можно наблюдать во время запуска Delphi, TheBat!, Dreamveawer и др. Сейчас мы займемся созданием красивой splash-заставки для вашей программы.
Зачем?
Как я уже говорил, заставка может скрасить ожидание запуска программы. К тому же на заставке можно показывать какие ни будь полезные данные или информацию о степени загрузки программы. Да и это просто красиво. Так же обращю ваше внимание, что заставка должна хорошо выглядеть, поскольку именно она оставляет первое впечатление о программе (надеюсь все знают силу первого впечатления, которое потом тяжело изменить). Так же нужно дать пользователю отключать заставку в настройках, поскольку заставка может просто не понравиться или раздражать пользователя, и он удалит программу только из-за злополучной заставки.
Как?
Очень просто. Нужно найти подходящюю картинку, разместить необходимые компоненты (если вы хотите что ни будь отображать на заставке) на форме и написать несколько строк кода.
Итак, приступим. Создайте новую форму и расположите на ней картинки и компоненты. Эта форма и будет отображаться во время загрузки программы. Допустим эта форма называется Form2. Рекомендую её свойство BorderStyle установить в bsNone - в этом режиме заголовок окна не будет отображаться, к тому же нельзя будет изменить размер окна. Так же рекомендую изменить свойство этой формы Position и установить как poScreenCenter - в этом случае окно появится в центре экрана. Далее в событии главной формы (обычно Form1) onShow пропишите Form2.ShowModal. Это откроет окно Form2 в модальном режиме. Теперь нужно сделать так, что бы заставка закрылась. Это можно сделать, добавив на форму заставки таймер, который закроет программу, или же добавив код закрытия заставки после инициализационных действий в главной форме, загрузки параметров и т.п.
Теперь давайте попробуем как ни будь удивить пользователя. Самый простейший способ, это показать некоторые данные о компьютере в заставке. Расположите несколько label"ов на форме-заставке или прямо на картинке (в этом случае нужно установить свойство Label.Transparent := true). Следующий код записывает в Label1 информацию о пользователе, на которого зарегистрирована ОС. Этот код нужно расположит в обработчике события OnCreate формы-заставки, так же не забудьте поместить модуль TRegistry в раздел Uses все той же формы-заставки:
var Reg : TRegistry;
begin
Reg := TRegistry.Create;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey("SOFTWAREMicrosoftWindowsCurrentVersion", False);
Label1.Caption:=Reg.ReadString("RegisteredOwner");
Reg.CloseKey;
Reg.Free;
end;
Если вы уловили идею, то сможете превратить из заставки настоящюю SysInfo :). Следующий способ должен впечатлить пользователя больше, чем предыдущий. При активации форма будет плавно появляться и исчезать. Я уже писал статью "Анимация без лишних усилий", там рассказывается об анимации окон стандартными winapi функциями и анимации путем манипулирования свойствами формы. Прочитайте обьязательно! В той статье были описаны свойства формы AlphaBlend и AlphaBlendValue. Манипулируя с ними в обыкновенном цикле можно достичь очень неплохих результатов. Если вы прочтете ту статью, то ваша заставка может впечатлить даже искушенного пользователя. Я не буду пихать в эту статью материал, изложенный в другой статье, но добавлю, что если вы хотите, что бы заставка при закрытии также плавно исчезала, то подставьте в цикле вместо слова to слово downto и поменяйте местами начальные и конечные значения (100 и 255 в примере статьи).
Вместо заключения
Хочу сказать, что не нужно бояться эксперементировать, и в этих эксперементах потерять драгоценное время, ведь именно в подобных эксперементах рождаются потрясающие результаты. К тому же цель этой статьи дать не готовые примеры для использования, а дать пищу для мозгов, натолкнуть программиста на интересные факты. Представьте, что вы на уроке химии: смешивайте примеры, добавляйте что ни будь свое, исправляйте и будьте уверены, что вы не будете жалеть о потраченном времени.
Список литературы
1. Линейная модель обмена модель международной торговли
2. Корейская модель менеджмента
3. Американская модель менеджмента
5. Корейская модель модернизации
7. Продукционная модель представления знаний
8. Модель Альтмана пример расч та
9. График пример паутинообразная модель
10. Неоклассическая модель рыка труда
11. Модель атома резерфорда презентация
12. Модель двигателя стирлинга
14. Экономическая модель предприятия курсовая
15. Шведская экономическая модель презентация