Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Содержание сайт... 65535
Вызов хранимых ... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Организация зап... 64682
Создание потоко... 62664
Модуль Forms 61267
Создание отчето... 61239
ТЕХНОЛОГИИ ДОСТ... 57704
Пример работы с... 55212
Имитационное мо... 53097
Реклама
Сейчас на сайте
Гостей: 6
На сайте нет зарегистрированных пользователей

Пользователей: 13,067
новичок: senata7
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Поиск пути в графе заданном списками инцедентности на Turbo Pascal
Расчет обратной матрицы на Delphi + Пояснительная записка
База данных студентов на Turbo Pascal (Списки) + Пояснительная записка

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
СОЗДАНИЕ SPLASH-ФОРМ (ЗАСТАВКИ)
Нередко при запуске Windows-приложений перед началом работы
на экране появляется заставка (в англоязычной литературе она называ-
ется Splash screen или splash-форма), содержащая информацию о за-
пускаемом приложении, логотип и некоторые другие сведения (серий-
ный номер продукта, версия и пр.) и показывающая ход выполнения
загрузки. При создании splash-форм используется несколько подходов.
Рассмотрим один из них.
Пример 1. Создадим приложение, в котором
перед появлением главного окна возникает за-
ставка, состоящая из логотипа (картинки).
Файл
Логотип.jpg, содержащий изображение имеет
размеры 256х256 (рис. 1.1).
Изображение с логотипом
Рис. 1.1. Изображение с логотипом
Создадим новый проект командой меню
File/New/Application, и присвоим главной
форме имя fmMain. Сохраним модуль формы
fmMain под именем Main_un.pas, а сам проект
— под именем Main.
Добавим в проект еще одну форму (это окно и будет заставкой) и
присвоим ее свойствам значения согласно табл. 1.1.
Таблица 1.1. Свойства проектируемой splash-формы
Свойства проектируемой splash-формы
Сохраним модуль формы fmSplash— под именем Splash_un.pas.
В каталог с проектом поместим файл Логотип.jpg с изображением,
которое будет являться логотипом программы.
Разместим на форме fmSplash компонент Image категории Additional,
присвоим его свойству Align значение alClient (заполняет
всю форму), свойству Proportional — значение true, свойству
Center — значение true, в свойстве Picture укажем в качестве ото-
бражаемого файла файл Логотип.jpg.
Реализуем динамическое создание сплэш-формы перед созданием
главной формы приложения. Для этого выполним команду меню
Project/Options, в диалоговом окне Project Options выберем катего-
рию параметров Forms, переместим форму fmSplash в список
Available forms и нажмем кнопку ОК (этим действием мы переместим
форму fmSplash из списка автоматически создаваемых форм в список
доступных форм). Далее внесем изменения в содержимое файла про-
екта. Для этого выполним команду меню Project/View Source и
добавим одну строку (добавленная строка выделена жирно в листинге)
перед оператором создания главной формы:
program Main;
uses
Forms,
Main_un in 'Main_un.pas' {fmMain},
Splash_un in 'Splash_un.pas' {fmSplash};
{$R *.res}
begin
Application.Initialize;
fmSplash := TfmSplash.Create(nil);
Application.CreateForm(TfmMain, fmMain);
Application.Run;
end.



Суть этой корректировки заключается в том, что автоматически
загружаются в оперативную память только те формы, которые созда-
ются в файле проекта с помощью метода Application.CreateForm.
Таким образом, хотя сплэш-форма и создается в файле проекта первой,
она не будет распознана как главная форма приложения, поскольку
для ее создания используется метод ТForm.Create.
Добавим в модуль Main_un ссылку на модуль Splash_un (можно
воспользоваться меню File/Use unit):
implementation
uses Splash_un;
Для того, чтобы сплэш-форма отображалась в момент создания
главной формы, создадим обработчик события fmMain.OnCreate:
procedure TfmMain.FormCreate(Sender: TObject);
begin
fmSplash.Show; //окно отображается немодальным
fmSplash.Repaint; //метод, заставляющий осуществить
//перерисовку формы
Sleep(5000); //задержка заставки на 5 сек
fmSplash.Hide; //метод, делающий форму невидимой
//можно было fmSplash.Close
fmSplash.Free; //освобождение памяти
end;



Автор: Соколова Ю.С.





Опубликовал Kest December 10 2009 15:53:45 · 6 Комментариев · 19352 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Андрей June 10 2010 22:28:01
Большое спасибо! Помогло! smiley
Diamond00744 June 27 2010 21:47:17
Спасибо!
Александр April 10 2011 23:21:49
Спасибо очень помогло! smiley
Саша April 02 2015 12:13:52
спасибоsmileysmiley
Айгерим June 02 2015 18:02:04
Большое спасибо за подробный хелп!
Владимир Алкаш February 29 2016 08:29:08
Спасибо большое ) легкий хороший способ )
u94;Создаем вторую форму , настраиваем вид
u94; в Project- View Source вставляем form2:=Tform2.create(nil);
u94; File-Use Unit - Unti2(вторая форма)
u94; в FormCreate главной формы прописываем отображение логотипа
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
PHP5. Профессиона...
MP3 Архив v.2.0
Факториал [Исходн...
База англоязычных...
Изучаем Ассемблер
Ehlib
Delphi 6/7 базы д...
Delphi 6 программ...
Платформа програм...
Text3D
Измерение тактово...
ATComponents
Blib [Исходник на...
Animation Effect ...
Удаление своего EXE
Профессиональное ...
Шкрыль А. - Разра...
PDJ Scrollers
Java 2. Наиболее ...
Пример работы с ф...

Топ загрузок
Приложение Клие... 100386
Delphi 7 Enterp... 83602
Converter AMR<-... 20051
GPSS World Stud... 11328
Borland C++Buil... 11247
Borland Delphi ... 8186
Turbo Pascal fo... 6988
Visual Studio 2... 4970
Калькулятор [Ис... 4421
FreeSMS v1.3.1 3516
Случайные статьи
Для программы алге...
Дополнительные виз...
Работа с переключа...
Моникеры и сохраня...
используют RRAS
Блоки работы с лог...
9.2. Описание син...
Время жизни сервера
Теперь давайте пос...
Идентификация типа...
Управление ссылками
Файловая система s...
Процедура GetLineS...
Блок конца изображ...
Продажа зеркал
Компиляция проекта...
Умножение
Построение кодека ...
categoryid
Сетевой инженер со...
Указатель this
Процедуры put и se...
История развития в...
Отладка и программ...
Интегрированная ср...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?