Вверх ↑
Этот топик читают: Гость
Ответов: 758
Рейтинг: 112
#1: 2009-07-15 15:26:11 ЛС | профиль | цитата
Плавное открытие окон
Доброго времени суток!
Так как это мой первый пост, то виражу свою благодарность разработчикам Hiasm за их детище
Теперь к делу. Попробовал сделать плавное открытие окна. Вот что получилось
code_14144.txt
Если с главной формой все замечательно, то с дочерней формой не совсем!!!!
При втором и последующих открытий дочерней формы она мигает на мгновение перед появлением. Я решил, что нужно обнулять свойство формы AlphaBlendValue при закрытии.
Но не смог найти события, которое происходит при нажатии крестика окна.
Подскажите где искать или, может, кто предложит свой вариант
P.S.:Также интересно, как можно реализовать плавное закрытие окна

карма: 1

0
файлы: 1code_14144.txt [2.1KB] [217]
Разработчик
Ответов: 26151
Рейтинг: 2127
#2: 2009-07-15 15:30:26 ЛС | профиль | цитата
miver, в публикаторе уже есть такой пример

http://www.hiasm.com/sha/shatools.php?q=5&id=118
карма: 22

0
Ответов: 758
Рейтинг: 112
#3: 2009-07-15 16:27:23 ЛС | профиль | цитата
в публикаторе уже есть такой пример

Спасибо за пример
Попробовал преобразовать и применить для своего примера. Проблема промигивания при повторном открытии дочерней формы осталась!
И как добиться плавного закрытия при нажатии на крестик дочерней формы

code_14146.txt
карма: 1

0
файлы: 1code_14146.txt [7.2KB] [197]
Ответов: 8926
Рейтинг: 823
#4: 2009-07-15 16:41:08 ЛС | профиль | цитата
miver, 1. при повторном открытии Ваша форма имеет прозрачность 255, потом уже сбрасывается на 0.
2. Может "крестик" блокировать? (точка onClose у меня от него не срабатывает ) code_14147.txt
карма: 19

0
файлы: 1code_14147.txt [3.2KB] [199]
Ответов: 758
Рейтинг: 112
#5: 2009-07-15 16:51:26 ЛС | профиль | цитата
miver, 1. при повторном открытии Ваша форма имеет прозрачность 255, потом уже сбрасывается на 0.

Я это тоже понял Спасибо за пример, наверно придется так и делать
2. Может "крестик" блокировать? (точка onClose у меня от него не срабатывает )

А как "крестик" блокировать Каюсь не знаю
------------ Дoбавленo в 16.54:
А как "крестик" блокировать

Все разобрался
карма: 1

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#6: 2009-07-15 17:11:36 ЛС | профиль | цитата
Гы, гы, гы
И че тут делать-то



Add(MainForm,8177680,245,203)
{
Width=322
Height=200
AlphaBlendValue=0
Position=1
Point(doAlphaBlendValue)
Point(onClose)
Point(Close)
link(Close,7614840:GetData,[])
}
Add(MultiElement,16403464,182,231)
{
@Hint=#17:Плавное появление|
link(onEvent1,3587330:doWork2,[])
}
BEGIN_SDK
Add(EditMulti,6478026,21,21)
{
EventCount=1
Width=160
Height=53
}
Add(Timer,6365731,49,28)
{
Interval=1
AutoStop=32
link(onTimer,5579543:doCalc,[])
}
Add(MathParse,5579543,112,28)
{
DataCount=0
MathStr="%0 +8 "
ResultType=0
Default=-1
Point(doClear)
link(onResult,6478026:onEvent1,[(162,34)(162,27)])
}
END_SDK
Add(MultiElement,11081300,336,140)
{
@Hint=#17:Плавное появление|
link(onEvent1,3587330:doWork3,[(399,146)(399,280)(228,280)])
link(onEvent2,8177680:doClose,[(380,153)(380,191)(233,191)(233,230)])
}
BEGIN_SDK
Add(EditMulti,6478026,21,21)
{
EventCount=2
WorkCount=1
Width=160
Height=95
link(doWork1,6365731:doTimer,[(35,27)(35,69)])
}
Add(Timer,6365731,49,63)
{
Interval=1
Enable=1
AutoStop=31
Point(onStop)
link(onTimer,5579543:doCalc,[(97,69)(97,34)])
link(onStop,6478026:onEvent2,[(167,76)(167,34)])
}
Add(MathParse,5579543,112,28)
{
DataCount=0
MathStr="%0 - 8 "
ResultType=0
Default=-1
Point(doClear)
link(onResult,6478026:onEvent1,[(162,34)(162,27)])
}
END_SDK
Add(HubEx,3587330,224,224)
{
link(onEvent,8177680:doAlphaBlendValue,[])
}
Add(EventFromData,7614840,245,140)
{
link(onEvent,13851802:doEvent1,[])
}
Add(Hub,13851802,294,140)
{
link(onEvent1,11081300:doWork1,[])
link(onEvent2,5528982:doData,[(320,153)(320,123)(168,123)(168,146)])
}
Add(DoData,5528982,182,140)
{
Data=Integer(1)
link(onEventData,7614840:doData,[])
}

карма: 22

2
Голосовали:miver, andrestudio
Ответов: 8926
Рейтинг: 823
#7: 2009-07-15 17:23:57 ЛС | профиль | цитата
nesco, ой, и правда!
карма: 19

1
Голосовали:miver
Ответов: 1328
Рейтинг: 69
#8: 2009-07-15 18:33:26 ЛС | профиль | цитата
miver, посмотри еще этот компонент:


Add(WindowAnimation,1746823,350,364)
{
}

карма: 2

0
Ответов: 5227
Рейтинг: 587
#9: 2009-07-15 20:06:17 ЛС | профиль | цитата
nesco, прости конечно, хотел тоже пример нарисовать, но в этот раз ты уже был на высоте. Толи я Hiasm уже начал подзабывать толи ты уже не стал так ляпы давать
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 758
Рейтинг: 112
#10: 2009-07-16 10:51:42 ЛС | профиль | цитата
Может кому будет интересен результат
code_14154.txt

Konst
посмотри еще этот компонент:


Компонент интересный, но почему он заменяет окно на свой вариант (в стиле аля Win98 )
И еще, если добавить компоненты на окно, при открытии рисует полный вид окна и лиш потом начинает анимацию

карма: 1

0
файлы: 1code_14154.txt [6.4KB] [206]
Ответов: 1328
Рейтинг: 69
#11: 2009-07-16 19:55:58 ЛС | профиль | цитата
miver, посмотри пример в exampleformswindowsanimation
карма: 2

1
Голосовали:miver
11
Сообщение
...
Прикрепленные файлы
(файлы не залиты)