Вверх ↑
Этот топик читают: Гость
Ответов: 257
Рейтинг: -2
#1: 2013-10-26 01:52:53 ЛС | профиль | цитата
Подскажите почему может быть, что после запуска программы, дочерние формы открываются с плавным появлением только первый раз, начиная со второго открытия - форма просто резко с мерцанием появляется на экране (форма вызывается свойством видимость)
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#2: 2013-10-26 02:01:02 правка | ЛС | профиль | цитата


Редактировалось 4 раз(а), последний 2025-01-17 15:11:27
карма: 0

0
Ответов: 257
Рейтинг: -2
#3: 2013-10-26 02:14:50 ЛС | профиль | цитата
Да любая схема. Первый раз форма как бы выезжает из ниоткуда, а потом просто резко появляется. Если на форме в этот момент что то отрисовываетсявыравнивается текст в таблицахлибо еще какие-нибудь действия, получается мерцание, очень резко она открывается.

code_32152.txt
карма: 0

0
файлы: 1code_32152.txt [444B] [98]
Гость
Ответов: 17029
Рейтинг: 0
#4: 2013-10-26 02:23:13 правка | ЛС | профиль | цитата


Редактировалось 4 раз(а), последний 2025-01-17 15:11:28
карма: 0

0
Разработчик
Ответов: 26324
Рейтинг: 2148
#5: 2013-10-26 02:34:11 ЛС | профиль | цитата
mudfactory писал(а):
Первый раз форма как бы выезжает из ниоткуда, а потом просто резко появляется

Все правильно, так и должно быть -- первый раз создается экземпляр формы, и при закрытии форма никуда не исчезает, а просто становится невидимой. Если это мешает, то можно попытаться использовать динамическую форму и уничтожать экземпляр формы при закрытии

Add(MainForm,14511813,175,175)
{
}
Add(Button,10546027,175,273)
{
Left=185
Top=130
link(onClick,9176807:doOn,[(277,279)(277,251)])
}
Add(Edit,8177158,175,224)
{
Left=185
Top=210
}
Add(ChildFormEx,8840552,343,238)
{
link(onEvent,2962335:doTimer,[(382,244)(382,223)(228,223)(228,244)])
}
BEGIN_SDK
Add(EditMultiEx,10962395,21,21)
{
WorkCount=#5:##add|7:##clear|
EventCount=#7:onEvent|
Point(##add)
Point(##clear)
link(##add,5460770:doVisible,[(88,27)(88,146)])
}
Add(MainForm,5460770,133,112)
{
Left=35
Top=105
Visible=1
Point(doVisible)
Point(Close)
link(Close,974907:GetData,[])
}
Add(EventFromData,974907,133,56)
{
link(onEvent,10962395:onEvent,[(172,62)(172,27)])
}
END_SDK
Add(Timer,2962335,238,238)
{
Interval=0
Enable=1
AutoStop=1
link(onTimer,9176807:doReset,[])
}
Add(Switch,9176807,294,231)
{
DataOn=Integer(1)
DataOff=Integer(0)
Point(onOn)
Point(onOff)
Point(doOn)
link(onOn,8840552:##add,[])
link(onOff,8840552:##clear,[])
}



Чсзать, до этого момента, это дело никому не мешало
карма: 22

0
Ответов: 257
Рейтинг: -2
#6: 2013-10-26 02:39:59 ЛС | профиль | цитата
Стандартный эффект работает только при первом открытии дочерней формы. На втором открытии он не срабатывает - окно тупо резко становится видимым.
------------ Дoбавленo в 02.38:
nesco писал(а):
Все правильно, так и должно быть -- первый раз создается экземпляр формы, и при закрытии форма никуда не исчезает, а просто становится невидимой. Если это мешает, то можно попытаться использовать динамическую форму и уничтожать экземпляр формы при закрытии


Да, в вашем варианте все ок. Я так понимаю в динамической форме, если ее уничтожать при закрытии не будут работать глобальные переменные и еще куча всего. А нельзя как-нибудь задать аналогичный эффект появления окна внутри самой программы не переделывая формы?
------------ Дoбавленo в 02.39:
nesco писал(а):
Чсзать, до этого момента, это дело никому не мешало


странно, это первое что бросилось в глаза при первом взгляде на программу
карма: 0

0
Разработчик
Ответов: 26324
Рейтинг: 2148
#7: 2013-10-26 02:41:37 ЛС | профиль | цитата
mudfactory писал(а):
А нельзя как-нибудь задать аналогичный эффект появления окна внутри самой программы не переделывая формы?

Можно только использовать эффект прозрачности и сделать медленное появление самому всякий раз, когда надо отобразить форму
------------ Дoбавленo в 02.41:
mudfactory писал(а):
странно, это первое что бросилось в глаза при первом взгляде на программу

У всех так работало и раньше, ничего нового в этом нет.
карма: 22

0
Ответов: 257
Рейтинг: -2
#8: 2013-10-26 02:43:25 ЛС | профиль | цитата
nesco писал(а):
Нет, нельзя. Можно только использовать эффект прозрачности и сделать медленное появление самому всякий раз, когда надо отобразить форму


Идея, спасибо
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#9: 2013-10-26 03:00:11 правка | ЛС | профиль | цитата


Редактировалось 4 раз(а), последний 2025-01-17 15:11:28
карма: 0

0
Разработчик
Ответов: 26324
Рейтинг: 2148
#10: 2013-10-26 11:56:13 ЛС | профиль | цитата
[flood]
г. ость писал(а):
Или это понятно только для семёрошников?

Ага. Этот эффект наблюдается в семерке при первом создании формы, она появляется плавно[/flood]

карма: 22

0
10
Сообщение
...
Прикрепленные файлы
(файлы не залиты)