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

Вниз

Вопрос по поводу Splash рисунка при загрузке программы.   Найти похожие ветки 

 
vegarulez ©   (2006-09-30 09:52) [0]

Привет всем Мастерам!

В хелпе приведён вот такой код процедуры для отображения splash при загрузке формы.

procedure TForm1.FormActivate(Sender: TObject);
begin
if Startup then
begin
Startup := False;
SplashScreen.Show;
end;
end;

procedure TForm2.Timer1Timer(Sender: TObject);
begin
Close;
end;

И написано следующее:The constant Startup is declared in Form1"s interface part. Типа поместите константу Startup в блок interface (сверху сразу после Unit как я понимаю)

Так вот 2 вопроса.
1) Как эту константу туда поместить?
Тобишь чему она там должна равняться?

unit Unit1;

interface
const Startup=xxx;  Или как?  (что с ней сделать вобщем.)

2) Что будет показываться если сплаш пустой?
И как туда засунуть картинку...
SplashScreen.LoadFromFile("бла..бла..бла")  Так?
Просто когда набираю просто SplashScreen он чот отказывается его воспринимать... и не выводит методы которые к нему доступны...


 
X9 ©   (2006-09-30 10:04) [1]

Из какого хелпа пример?
Константе нельзя (прошу буквоедов не читать :) ) присваивать значения, на то она и константа.
По приведённому Вами коду мало что понятно, дайте ссылку на источник.


 
Virgo_Style ©   (2006-09-30 10:09) [2]

Почитай что-нибудь...

Про булевы переменные... про то, что const - это константа... и когда вызывается OnActivate... И что форму надо хотя бы объявить, а в идеале и создать ;-)... причем обе, и SplashScreen и Form2...
Зачем тебе TForm2, ты не написал, кстати... Хотя скорее всего SplashScreen:TForm2. Легально, хоть и не совсем красиво.
И про формы почитай, и про TImage, к примеру.

В общем, по программированию что-нибудь, даже Фленова с Архангельским и то пойдет... Или бросай это дело.


 
X9 ©   (2006-09-30 10:17) [3]

Источник нашёл :) Только там вся статься глючная, даже форматирование поехало (и это в официальной справке к Delphi!), неверное, студенты писали.

Нужно объявить переменную Startup в модуле главной формы, затем создать ещё одну форму (это и будет SplashScreen), оформить её по вкусу (напрмер, добавить TImage, в котором и будет выводиться картинка, растянуть его на всё окно и выставить у формы BorderStyle в bsNone).
На форму SplashScreen положить Timer, выставить ему соответствующий Interval (время показа Splash), а в обработчике OnTimer закрыть форму с помощью Close.
Всё это чудо показывается с помощью вызова SplashScreen.Show, помещённого в событие OnCreate (так лучше, ибо Splash будет висеть, пока выполняются процедуры и функции инициализации), а не в OnActivate, как написано в Help"e.

Не забудть подключить оба модуля друг к дуругу (File | Use Unit для каждого модуля).


 
X9 ©   (2006-09-30 10:20) [4]

Если нужно, могу привести свой пример, хотя, конечно, лучше почитать основы.


 
Percent   (2006-09-30 11:02) [5]

Всё это чудо показывается с помощью вызова SplashScreen.Show, помещённого в событие OnCreate

Как минимум - вызвать хотя бы Repaint. Я так думаю.


 
X9 ©   (2006-09-30 12:04) [6]

> [5] Percent   (30.09.06 11:02)
>
> Как минимум - вызвать хотя бы Repaint. Я так думаю.

Согласен, упустил.


 
vegarulez ©   (2006-09-30 20:54) [7]

Всем большое спасибо.
Сам точно так и делал всегда... как вы все выше описали...
Тока признаюсь честно сразу и не вкупил, что там в хелпе такое косодырство...  )))
Просто я думал что есть какой-то отдельный элемент, который так и называется splashscreen который специально и создан для этих нужд...
Как я сразу не допёр, что это просто форма так называется... меня  в заблуждение ввёл блок interface про который в хелпе и говорилось... думал что с помощью него этот   мифический элемент (splashscreen) и работает...
8-)



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

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

Наверх




Память: 0.49 MB
Время: 0.084 c
15-1159283155
Cyrax
2006-09-26 19:05
2006.10.15
Вызов метода класса (с параметрами) через типизированный казатель


6-1148051262
kernel
2006-05-19 19:07
2006.10.15
Противная ошибка


15-1158676295
Unknown user
2006-09-19 18:31
2006.10.15
Интерполяция/аппроксимация алгоритмы


3-1155278255
wipr
2006-08-11 10:37
2006.10.15
Сменить программно свойство таблицы "Table language"


11-1135271830
Boguslaw
2005-12-22 20:17
2006.10.15
autofree form ?