Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.06;
Скачать: CL | DM;

Вниз

Помогите мне создать splashform у!   Найти похожие ветки 

 
hatchy ©   (2002-12-18 15:42) [0]

Как создать splashform"у?


 
Ru ©   (2002-12-18 15:46) [1]

Источник Кулиба 2000

Показ логотипа при запуске приложения IV
Как добавить логотип к вашему приложению

Логотип (заставка) является важной составляющей вашего приложения. Он позволяет занять время во время загрузки и сообщить пользователю дополнительные сведения о программе. Логотип сделает ваше приложение более профессиональным.

Кроме того, заставка позволяет не только отличить ваше приложение от другого, но и отличить одну версию приложения от другой.

Имеется множество типов заставок (Splash Screen). Самый распространный тип - показ логотипа во время загрузки приложения. Обычно такие экраны отображают имя приложения, автора, версию, авторские права и изображение или иконку, идентифицирующую приложение.

Также, некоторые приложения используют этот экран для показа линейки прогресса при выполнении длительного процесса. Примером такого типа экрана может быть диалог с выводом числа процентов выполненного запроса к базе данных, файловая задача, или задача обработки чисел. При длительных процессах наличие такого диалога означает вежливость программы по отношению к пользователю.

Надеюсь, вы оценили преимущества заставок. Давайте теперь попробуем создать простую заставку своими руками.

Добавьте форму в ваш проект --> File | New Form.. Комментарий: Заставка (Splash Screen) похожа на любую другую форму.
Измените свойство формы Name на SplashScreen
Измените свойство формы BorderStyle на bsNone
Измените свойство формы Position на poScreenCenter
Сделайте заставку привлекательной и функциональной путем добавления на нее необходимых компонентов и изображений. (компоненты Label, Panel, Image, Shape и Bevel)
Отредактируйте свойства добавленных компонентов
Выберите в меню Delphi IDE Options | Project
Уберите SplashScreen-форму из списка Auto-create-списка (списка автоматически создаваемых форм)
Комментарий: Вы динамически создаете экземпляр заставки


Добавьте модуль, содержащий TSplashScreen, в список используемых модулей главной формы вашего приложения. Пример:



 
Ru ©   (2002-12-18 15:47) [2]


--------------------------------------------------------------------------------
unit Unit1;
interface
uses SysUtils, WinTypes, WinProcs, Messages, Classes,
Graphics, Controls, Forms, Dialogs, StdCtrls,
unit2; <---- поместите сюда

Комментарий: В нашем примере TSplashScreen объявлен в Unit2


Выберите в меню Delphi IDE View | Project Source
Вставьте между ключевым словом begin и перед любым Application.Create() следующий код:


--------------------------------------------------------------------------------
SplashScreen := TSplashScreen.Create(Application);
SplashScreen.Show;
SplashScreen.Refresh;


Измените поведение главной формы приложения при наступлении события OnShow. Добавьте следующий код:


--------------------------------------------------------------------------------
SplashScreen.Free;

Комментарий: Реализация заставки с линейкой прогресса ничуть не сложнее, чем приведенный выше пример. Необходимо всего лишь вовремя выводить ее на экран: перед тем, как процесс начнется, и убирать только после того, как он закончится. Различие заключается в осуществлении связи (реализации механизма) между процессом и заставкой для правильного обновления линейки прогресса.


Запустите приложение. В приведенном выше примере, если скорость вашего компьютера значительна, то заставки вы можете и не увидеть. Следующий код демонстрирует технику создания заставки для вашего приложения - только будьте осмотрительней при его использовании.
Добавьте следующий код на этапе #11:



--------------------------------------------------------------------------------
for x:= 1 to 10000000 do
begin
x:=x;
end;



--------------------------------------------------------------------------------
{PROJECT1.DPR}


program Project1;


uses
Forms,
Unit1 in "UNIT1.PAS" {Form1},
Unit2 in "UNIT2.PAS" {SplashScreen};


{$R *.RES}
var
x: longint;
begin
SplashScreen:= TSplashScreen.Create(Application);
SplashScreen.Show;
SplashScreen.Refresh;;
for x:= 1 to 10000000 do
begin
x:=x;
x:=x;
end;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.



--------------------------------------------------------------------------------
{UNIT1.PAS}


unit Unit1;


interface


uses
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Dialogs, unit2;


type
TForm1 = class(TForm)
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;


var
Form1: TForm1;


implementation


{$R *.DFM}


procedure TForm1.FormShow(Sender: TObject);
begin
splashscreen.free;
end;


end.



--------------------------------------------------------------------------------
{UNIT2.PAS}


unit Unit2;


interface


uses
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, ExtCtrls;


type
TSplashScreen = class(TForm)
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Shape1: TShape;
Shape2: TShape;
Shape3: TShape;
private
{ Private declarations }
public
{ Public declarations }
end;


var
SplashScreen: TSplashScreen;


implementation


{$R *.DFM}


end.


[001527]



Страницы: 1 вся ветка

Текущий архив: 2003.01.06;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.016 c
1-15141
TALLA
2002-12-22 16:11
2003.01.06
Работа Drag&Drop и OnDblClick у Panel совместно?


14-15278
AFrolov
2002-12-16 16:39
2003.01.06
посоветуйте хороший компонент для построения гафиков


14-15243
Феликс
2002-12-13 02:49
2003.01.06
Кличко VS Льюис. Ваше мнение.


1-15148
Agent
2002-12-22 20:20
2003.01.06
Мастаки Help!!!!!!


3-14907
Ditrix
2002-12-13 11:39
2003.01.06
SQL представление двух баз в одной