Форум: "Начинающим";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];
ВнизВопрос по поводу 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.049 c