Навигация
Главная
Поиск
Форум
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
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Создание отчето... 65436
Модуль Forms 65199
Пример работы с... 64415
ТЕХНОЛОГИИ ДОСТ... 61846
Имитационное мо... 57764
Реклама
Сейчас на сайте
Гостей: 11
На сайте нет зарегистрированных пользователей

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

Принадлежит ли точка пересечению двух окружностей на Turbo Pascal + Отче...
Моделирование информационно-поисковой библиографической системы на gpss ...
Меры близости на векторах в Delphi + Блок схемы

Реклама



Подписывайся на 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 Комментариев · 20111 Прочтений · Для печати

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


Комментарии
Андрей 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...
Шаблон для новост...

Случайные загрузки
Rotolabel
Web Регистрация
Библия хакера 2 К...
Анимированное поя...
PBFoldder
IIIDTrans
Время загрузки ...
PHP 5 на примерах
Text effect
Delphi 2005 для W...
БД сеть компьютер...
Экранная лупа
Нестандартные при...
SendSMS для PHP-F...
Программирование ...
EditNew
Простой текстовый...
Delphi. Учимся на...
Программирование ...
Изучаем Ассемблер

Топ загрузок
Приложение Клие... 100470
Delphi 7 Enterp... 87056
Converter AMR<-... 20078
GPSS World Stud... 12821
Borland C++Buil... 11832
Borland Delphi ... 8603
Turbo Pascal fo... 7039
Visual Studio 2... 4999
Калькулятор [Ис... 4799
FreeSMS v1.3.1 3542
Случайные статьи
Реализация вызова ...
Простейшие алгорит...
RTTI
Приложение «Просте...
Присваивайте назва...
Об анализе задачи....
Арифметические ком...
ПАММ счета Fx-Tren...
ДОПУСТИМЫЕ СПОСОБЫ...
Язык С: алгоритмы ...
Семантика HDLC
Зарегистрируйте из...
Отличное описание ...
Примечание Если ау...
Разрешение Deny бу...
Method Identifier ...
Интервенция
если участник безо...
Стили и парадигмы ...
Установка WordPress
Masterbatch
Сотрудник службы б...
Случаи применения ...
Создание композитн...
Состав программног...
Статистика



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


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