Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail


Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы
Старый 29.09.2007, 19:24   #1
Илюха
Заблокирован
 
Регистрация: 29.09.2007
Сообщений: 106
По умолчанию Как создать заставку на Delphi 7?

Как создать заставку из разных фотографий в Delphi 7?
Буду очень благодарен
Илюха вне форума
Старый 29.09.2007, 20:29   #2
Noor
Участник клуба
 
Аватар для Noor
 
Регистрация: 01.11.2006
Сообщений: 1,077
По умолчанию

Поиск рулит !!!!

от Alar
Потёр ссылки. Ссылка на либу, которая перенесена с delphiworld ссылку на delphiworld не потёр бы. Вот код.


Перед появлением главного окна во всех серьёзных приложениях сначала появляется заставка. Теперь и у Вас есть возможность повыёживаться! Для создания заставки выполняем следующую последовательность действий:

Начинаем создание нового приложение командой “New Application” (“Новое приложение”) из меню “File” (“Файл”)

Добавьте ещё одну форму: “New Form”(“Новая форма”) из меню “File” (“Файл”). Это окно и будет заставкой. У него нужно убрать рамку с полосой заголовка, установив свойство “BorderStyle” в “bsNone”. Теперь можно смело разработать дизайн окна заставки.

Из меню “Project” (“Проект”) выбрать команду “Options”(“Опции”). Зайти на закладку “Forms”(“Формы”) и Form2 из списка автоматически создаваемых форм (Auto-Create forms) перенести в список доступных форм (Available forms)

На форму-заставку с закладки System вынести компонент Timer. В его свойстве Interval установить значение 5000, а в событии OnTimer написать:
Timer1.Enabled := false;



Это сделано для того, чтобы заставка была видна в период указанного времени – 5000 миллисекунд, т.е. 5 секунд.

Перейти в файл проекта, нажав Ctrl+F12 и выбрав Project1. Исходный код должен выглядеть так:

Код:
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2};

{$R *.RES}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.



Теперь мы внесём сюда немного изменений и код должен стать таким: 
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2};

{$R *.RES}

begin
  Application.Initialize;
  Form2 := TForm2.Create(Application);
  Form2.Show;
  Form2.Update;
  while Form2.Timer1.Enabled do
    Application.ProcessMessages;
  Application.CreateForm(TForm1, Form1);
  Form2.Hide;
  Form2.Free;
  Application.Run;
end.

Последний раз редактировалось zetrix; 30.09.2007 в 09:18. Причина: чуть подправил, а то сообщение "разъехалось"
Noor вне форума
Старый 30.09.2007, 20:51   #3
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

переименуй exe файл в scr, кинь его в Windows, вот тебе и заставка
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума
Старый 01.10.2007, 12:11   #4
Илюха
Заблокирован
 
Регистрация: 29.09.2007
Сообщений: 106
По умолчанию

по конкретней. Как переименовать просто через тотал-командер??
Илюха вне форума
Старый 01.10.2007, 13:41   #5
Oleg Romanchuk
Ghost
Форумчанин
 
Аватар для Oleg Romanchuk
 
Регистрация: 16.08.2007
Сообщений: 143
По умолчанию

Цитата:
Сообщение от Илюха Посмотреть сообщение
Как создать заставку из разных фотографий в Delphi 7?
Буду очень благодарен
Есть еще один способ: делаешь все как описал Noor, только код пишешь такой:

{$R *.res}
begin

Splash_Form:=TSplash_Form.Create(ni l);
Splash_Form.Show;
Splash_Form.Repaint;

Application.Initialize;
Application.CreateForm(TMain_Form, Main_Form);


Sleep(2000); //делаем задержку на 2 сек.
Splash_Form.Hide;
Splash_Form.Free;

Application.Run;
end.
Oleg Romanchuk вне форума
Старый 01.10.2007, 15:38   #6
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

1) создаём форму, бордер стайл в none
2) кидаем на форму image (Align)...

Извини, нет времени, держи исходник (в Image засунь свою картинку), как откомпилишь, замени расширение у ехе на scr (компилить Делфёй):
Вложения
Тип файла: rar скрин.rar (1.6 Кб, 228 просмотров)
zetrix вне форума
Старый 01.10.2007, 15:41   #7
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

м... Что-то я замудрил немного... Зайди в свойста, заставка. Выбери: Презентация "Мои рисунки", в параметрах укажи папку, где твой рисунок (пусть в этой папке будет только 1(!!!) рисунок), потом убери все галочки, поставь размер в 100% и время смены картинки на максимум (3 минуты), вот ты и получишь скринсайвер
zetrix вне форума
Старый 01.10.2007, 17:35   #8
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
по конкретней. Как переименовать просто через тотал-командер??
пишешь программу (об этом отдельно), компилируешь, просто меняешь расширение полученого exe на scr, чем угодно, можно и тоталом, кидаешь этот scr файл в папку Windows, открываешь свойства экрана и находишь свой сейвер среди других

теперь про программу убираешь у формы заголовок
Цитата:
1) создаём форму, бордер стайл в none
кидаешь на форму имидж и растягиваешь его на всю форму
Цитата:
2) кидаем на форму image Align - AlClient
форму сделай Maximize, загрузи в имидж картинку, в событие OnMouseMove запиши Close;
Вроде все

//я там исходник давал, вроде всё так и написано... //zetrix
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось zetrix; 02.10.2007 в 08:24.
mutabor вне форума
Старый 08.05.2009, 11:19   #9
Sergeevich
Пользователь
 
Регистрация: 26.05.2008
Сообщений: 30
По умолчанию

Я сам новичек в программировании, и заставку упростил для себя, тоесть код очень понятен, по крайней мере больше чем тут )
Здесь я реализовал два способа, тоесть можно сделать заставкой первую форму, а можно вторую, как кому понравится, вобщем что нужно сделать:
Создать две формы и связать между собой: Form1 и Form2
Form1{Form2} – заставка программы, Form2{Form1} - главная форма программы
Form1: {Form2:}
AlphaBlend = True
BorderStyle = bsNone
Position = poDesktopCenter
Добавить на форму(Form1 {Form2}) компонент Timer с вкладки System, создать обработчик события OnTimer(два раза по нему щелкнуть) и ввести код:
Код:
while AlphaBlendValue<>0 do AlphaBlendValue:=AlphaBlendValue-1;
timer1.Enabled:=false;
form2.ShowModal; {form1.ShowModal;}
Form2: {Form1:}
BorderIcons -> biMaximize = False
BorderStyle = bsSingle
Position = poDesktopCenter
Создать для формы(Form2 {Form1}) обработчик события onClose и ввести строку:
Код:
form1.Close; {form2.Close;}
Исходник(Project1):
Код:
program Project1;
uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2};
{$R *.res}
begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1); 
{Application.CreateForm(TForm2, Form2);}
  Application.CreateForm(TForm2, Form2); 
{Application.CreateForm(TForm1, Form1);}
  Application.Run;
end.
Unit1:
{Unit2:}
Код:
procedure TForm1.Timer1Timer(Sender: TObject); 
{procedure TForm2.Timer1Timer(Sender: TObject);}
begin
while AlphaBlendValue<>0 do AlphaBlendValue:=AlphaBlendValue-1;
timer1.Enabled:=false;
form2.ShowModal; 
{ form1.ShowModal;}
end;
Unit2:
{Unit1:}
Код:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); 
{procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);}
begin
form1.Close; 
{form2.Close;}
end;
Sergeevich вне форума
Старый 16.12.2009, 22:25   #10
CompileGirl
Новичок
Джуниор
 
Регистрация: 16.12.2009
Сообщений: 1
По умолчанию

Народ, подскажите пожалуйста!!! Заставку я сделала,она во весь экран...но вся проблема в том,что на разных мониторах(с разными диагоналями) изображение выглядит по разному...где-то обрезается картинка, а где-то нет....
я писала под свой комп, но сдавать на преподском...
как сделать так, чтоб не зависить от размеров диагонали???
CompileGirl вне форума
Закрытая тема
Купить рекламу на форуме 20000 рублей в месяц
Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать DLL на C# и вызвать её в Delphi (Delphi) RIO Общие вопросы Delphi 2 25.03.2008 15:33
Как поставить заставку перед запуском главной формы программы? NiganInterCOM Общие вопросы Delphi 2 22.02.2008 16:11
Как создать программы для КПК на Delphi? kuzmich Общие вопросы Delphi 3 30.10.2007 06:36
как создать Web-страницу на Delphi geniy Общие вопросы Delphi 8 23.08.2007 16:36


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS