Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Маленькая проблема с эфектом закрывания дочернего окна

Ответить
Настройки темы
[решено] Маленькая проблема с эфектом закрывания дочернего окна

Пользователь


Сообщения: 62
Благодарности: 0

Профиль | Отправить PM | Цитировать


Эфект открывания и закрывания основного окна работает нормально
А вот дочернее окно при закрывании если оно находится в зоне основного окна портит этот эфект
Я специально чуть развёл окна чтобы было видно что вне зоны окна оно закрывается с эфектом
а вот в зоне окна этот эфект плавного закрывания не работает
Можно это исправить или эта фишка с дочерним окном не пройдёт?
Можно конечно это сделать создав ещё один экзешник но просто хочется чтобы было всё в одном зкзешнике

Код: Выделить весь код
#include <GUIConstants.au3>
Global $2 
$1 = GUICreate("1" ,-1 ,-1 ,300 ,300)
$But = GUICtrlCreateButton("1", 50, 50, 80, 40 , $BS_FLAT)
DllCall("User32.dll","long","AnimateWindow","hwnd",$1,"long",500,"long",0x10)
GUISetState () 

While 1
$iMsg = GUIGetMsg(1)
	
	Select
			
			Case $iMsg[0] = $GUI_EVENT_CLOSE
				
				If $iMsg[1] = $2  Then
				   DllCall("User32.dll","long","AnimateWindow","hwnd",$2,"long",500,"long",0x10+0x10000)
				   
				ElseIf $iMsg[1] = $1 Then
					   DllCall("User32.dll","long","AnimateWindow","hwnd",$1,"long",500,"long",0x10+0x10000)
					   Exit
			    EndIf

            Case $iMsg[0] = $But
			  Function()
			
	EndSelect

Wend

Func Function()
$2 = GUICreate("2", -1, -1, 500, 500, -1, -1, $1)
GUISetBkColor (0xffffff)
DllCall("User32.dll","long","AnimateWindow","hwnd",$2,"long",500,"long",0x10)
GUISetState()  
EndFunc

Отправлено: 02:33, 19-07-2010

 

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Одно из решении это поставить временно прозрачность окна на 254 (не прозрачное окно это 255, т.ч это должно быть не значительно).

Код: Выделить весь код
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>

Global $2

$1 = GUICreate("1", -1, -1, 300, 300)
$But = GUICtrlCreateButton("1", 50, 50, 80, 40, $BS_FLAT)
DllCall("User32.dll", "long", "AnimateWindow", "hwnd", $1, "long", 500, "long", 0x10)
GUISetState()

While 1
    $iMsg = GUIGetMsg(1)

    Select
        Case $iMsg[0] = $GUI_EVENT_CLOSE
            If $iMsg[1] <> $1 Then
                WinSetTrans($1, "", 254)
                DllCall("User32.dll", "long", "AnimateWindow", "hwnd", $iMsg[1], "long", 500, "long", 0x10 + 0x10000)
                WinSetTrans($1, "", 255)
            Else
                DllCall("User32.dll", "long", "AnimateWindow", "hwnd", $1, "long", 500, "long", 0x10 + 0x10000)
                Exit
            EndIf
        Case $iMsg[0] = $But
            Function()
    EndSelect
WEnd

Func Function()
    $2 = GUICreate("2", -1, -1, 500, 500, -1, -1, $1)
    GUISetBkColor(0xffffff)
    DllCall("User32.dll", "long", "AnimateWindow", "hwnd", $2, "long", 500, "long", 0x10)
    GUISetState()
EndFunc
И кстати, судя по скрипту, у вас старая версия AutoIt, возможно не помешало бы обновиться

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 02:57, 19-07-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Пользователь


Сообщения: 62
Благодарности: 0

Профиль | Отправить PM | Цитировать


Большое спасибо Creat0R

Не всегда но иногда правда в поле зрения мелькает небольшая чёрная зона

Отправлено: 06:14, 19-07-2010 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Маленькая проблема с эфектом закрывания дочернего окна

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Проблема синхронизации с дочернего сервера. Ven0m_II WSUS 2 02-06-2009 21:24
Удаление дочернего домена risc Microsoft Windows NT/2000/2003 1 29-10-2008 01:45
Интерфейс - Панель задач (Маленькая проблема) Sindi0ru Microsoft Windows 2000/XP 1 05-05-2008 09:50
Моя маленькая проблема с видео Глобального характера)) Flashdance Видеокарты 13 19-08-2006 20:23
маленькая проблема tursun Автоматическая установка Windows 2000/XP/2003 1 03-01-2006 15:17




 
Переход