Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.02.2012, 07:59   #11
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

создаем две формы(не забываем второй сообщить о первой в uses)!на первой форме в обработчик create пишем hide; на второй туда же пишем show; переходим ко второй форме кидаем на нее таймер интервал сколько вам надо enabled:=false; далее пишем у второй формы обработчик на событие onshow пишем туда следующее timer1.enabled:=true; теперь кликаем на timer два раза и пишем
Код:
form1.show; form2.free;
Кольша вне форума Ответить с цитированием
Старый 12.02.2012, 16:30   #12
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

i - переменая типа Integer
SF - переменная типа TForm У меня это TSplasshForm(её я создаю в run-time).
AllowedSplashScreen - моя функция проверки, хочет ли юзер видет заставку при запуске.
ProgressLoad - мой прогресс бар(Использую TGauge).
Человек_Борща вне форума Ответить с цитированием
Старый 12.02.2012, 18:12   #13
tim21701
Пользователь
 
Регистрация: 16.01.2012
Сообщений: 67
По умолчанию

Кольша спасибо. ))) Как сделать заставку и потом показать главную форму я знаю.

Мне надо отображать ход загрузки всех окон - пока показывается заставка, и вот с этим у меня проблема...
Пример Человек_Борща может быть и хороший, но я не могу с ним разобраться, не работает...
tim21701 вне форума Ответить с цитированием
Старый 12.02.2012, 22:06   #14
tim21701
Пользователь
 
Регистрация: 16.01.2012
Сообщений: 67
По умолчанию

Всё, разобрался... )) Только вместо Application.CreateForm(TForm, Form2); (как у Человек_Борща) я использовал Form2:=TForm2.create(self); ибо это лучше... ))

Кстати, Человек_Борща, непонятно вообще зачем Вам нужен такой код, для украшательства что ли? ))) Он ведь не несёт никакую информацию о загрузке...

Вопрос в другом, что за артефакт при загрузке приложения???
Откуда такое мерцание перед появлением формы?

Сделал проект - что бы было понятно.
Отдельно екзешник.
Вложения
Тип файла: zip WTF.zip (80.9 Кб, 29 просмотров)
Тип файла: zip exe.zip (621.0 Кб, 27 просмотров)
tim21701 вне форума Ответить с цитированием
Старый 12.02.2012, 22:39   #15
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Цитата:
Вопрос в другом, что за артефакт при загрузке приложения???
Откуда такое мерцание перед появлением формы?
Если делать:
Код:
      Form2.Parent := Panel1;
то и не такое привидится
Приемы эти для фреймов подходят, но никак не для форм. В приведенном коде форма появляются сразу после ее создания. Именно поэтому "артефакт". Чтобы его избежать, надо скрывать форму после ее создания, а после изменения Parent - отображать.
Прик вне форума Ответить с цитированием
Старый 13.02.2012, 01:12   #16
tim21701
Пользователь
 
Регистрация: 16.01.2012
Сообщений: 67
Восклицание

Цитата:
Сообщение от Прик Посмотреть сообщение
...Чтобы его избежать, надо скрывать форму после ее создания, а после изменения Parent - отображать.
Нашел причину этого "глюка"... У Form2 почему то стоит Visible.True. Вернул на False и всё теперь корректно. Спасибо. )))
tim21701 вне форума Ответить с цитированием
Старый 13.02.2012, 03:13   #17
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Кстати, Человек_Борща, непонятно вообще зачем Вам нужен такой код, для украшательства что ли? ))) Он ведь не несёт никакую информацию о загрузке...
С чего вы взяли, что я не вырезал оттуда все то, что вам вообще не надо?
Я делаю там инициализацию настроек приложения, подготовку программы к работе, и только потом пускаю интерфейс.

Мерцание вызвает, абсолютно не нужный:
Form1.Update;

Код:
Form2.Parent:=Panel1;
Ваша форма - это не фрейм. Его нельзя запихать во что-то.
В кач-ве родителя, либо nil либо Application. Для Run-time я предпочитаю nil.
Человек_Борща вне форума Ответить с цитированием
Старый 13.02.2012, 23:04   #18
tim21701
Пользователь
 
Регистрация: 16.01.2012
Сообщений: 67
Восклицание

Цитата:
Сообщение от Человек_Борща
...Я делаю там инициализацию настроек приложения, подготовку программы к работе, и только потом пускаю интерфейс.
Вот уж не знаю, где Вы в своём - предоставленном коде, увидели "инициализацию" приложения... ))))) В этом коде, я лишь вижу - как при достижении условия (if - ...Progress) у TGauge - создаётся форма. Даже исключения нет и обработок, не говоря уже о "инициализации". Что то Вы путаете... ))

Цитата:
Сообщение от Человек_Борща
...Мерцание вызывает, абсолютно не нужный:
Form1.Update;
Form1.Update приводит к перерисовке всех элементов управления, если на форме что-то рисовалось "руками"... В моём случае - OnPaint. Просто "кое чего не хватает"...

Цитата:
Сообщение от Человек_Борща
...Ваша форма - это не фрейм. Его нельзя запихать во что-то...
А вот это вообще странно слышать, особенно от человека у которого "Репутация: 381" ))))) Не флейм - да, нельзя "запихать" - нет! Перечитайте ещё раз сообщение № 14 в этой теме, а ещё лучше - скачайте исходник и посмотрите... (только поменяйте у Form2 Visible на False.)

В любом случае - всем спасибо. Тему можно закрыть, так как (основной) вопрос решен.
tim21701 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание программы для управления некоторыми функциями другой программы Юрий1991 Общие вопросы Delphi 6 03.02.2012 15:32
Какие программы нужно установить чтобы писать программы для телефонов nokia Кристинка89 Общие вопросы по Java, Java SE, Kotlin 2 17.02.2011 15:15
Заставка... maxlake1 Помощь студентам 0 20.04.2010 20:51
Заставка в Ubuntu rand8154 Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) 2 05.12.2009 19:22
Заставка Ark Общие вопросы Delphi 23 23.08.2009 01:10