Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.01.06;
Скачать: [xml.tar.bz2];

Вниз

Помогите мне создать 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.007 c
1-15011
Chupa-chups
2002-12-24 12:00
2003.01.06
MDIChild


14-15308
Ketmar
2002-12-17 16:26
2003.01.06
господа, никто не встречал плугина к фару, чтобы *.SQX-архивы...


3-14938
oss
2002-12-13 16:29
2003.01.06
ADO, ошибки


6-15187
brestmarket
2002-11-06 14:25
2003.01.06
WebBrowser1.ExecWB(OLECMDID_PRINTPREVIEW, 0) в свернутом виде?!


8-15181
lak_b
2002-09-07 15:34
2003.01.06
таймер с милисекуддами





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский