SimpsoN_Bart Posted August 2, 2012 Share Posted August 2, 2012 (edited) Konu başlığından da belli olduğu gibi çalışmalarınız da kullanabileceğiniz güzel bir fonksiyon. Giriş ve çıkış efektlerini tek çatı altında topladım ve gui pencereleriniz bu sayede daha hareketli olacak ayrıca isteğiniz süreyi ve efekti veri girişinde belirleyip ona göre işlem yaptırabileceksiniz.. Örneği incelerseniz basit ve kullanışlı olduğunu göreceksiniz umarım işinize yarar kolay gelsin. $hGUI = GUI handlesi için $EFFECT = Pencere Efektleri için $AW_MODE = 1 giriş efektleri için 2 ise çıkış efektleri için. ($AW_MODE = 2 Exit ile true olarak kullanılır.) $DELAY = Efekt hızı için (ms cinsinden süre girin.) $EXIT = İşlem sonunda çıkış yapmak için.(Başlangıç olarak false olarak kullanılır.) Her giriş ve çıkış (in ve out) efekti için 10 adet efekt bulunmaktadır. Efektler için msdn kaynağına ayrıca bakınız. http://msdn.microsoft.com/en-us/library/ms632669.aspx #RequireAdmin $hGUI = GUICreate("Form1", 302, 147, 192, 124) $Button1 = GUICtrlCreateButton("Çıkış Yap", 144, 48, 75, 25) _SK_AnimateWindowEx($hGUI, 1, 1, 1000) ;$AW_MODE = 1 giriş efektleri için GUISetState(@SW_SHOW, $hGUI) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case -3,$Button1 _SK_AnimateWindowEx($hGUI, 1, 2, 1000,1) ;$AW_MODE = 2 çıkış efektleri için EndSwitch WEnd Func _SK_AnimateWindowEx($hGUI, $EFFECT = 1, $AW_MODE = 1, $DELAY = 750, $EXIT = False) Local $IN = StringSplit('80000,40001,40002,40004,40008,40005,40006,40009,4000A,40010', ',') Local $OUT = StringSplit('90000,50002,50001,50008,50004,5000A,50009,50006,50005,50010', ',') If $AW_MODE = 1 Then DllCall('user32.dll', 'int', 'AnimateWindow', 'hwnd', WinGetHandle($hGUI), 'int', $DELAY, 'long', '0x000' & $IN[$EFFECT]) ElseIf $AW_MODE = 2 Then DllCall('user32.dll', 'int', 'AnimateWindow', 'hwnd', WinGetHandle($hGUI), 'int', $DELAY, 'long', '0x000' & $OUT[$EFFECT]) EndIf If $EXIT = 1 Then Exit EndIf Local $GETLASTERROR = DllCall('kernel32.dll', 'int', 'GetLastError') If $GETLASTERROR[0] <> 0 Then SetError(1) Return 0 EndIf Return 1 EndFunc ;==>_SK_AnimateWindowEx https://www.box.com/s/20h6oi2rghp2qvdnmscw Edited February 6, 2013 by SimpsoN_Bart Quote Link to comment Share on other sites More sharing options...
kamuran731 Posted August 2, 2012 Share Posted August 2, 2012 Bunuda scripte eklersek bilgi olarak işimize yarayabilir ; hangi kod ne işlev görüyor bilmek daha güzel, ona göre istediğimizi kullanırız ; ==== Giriş Efekt Kodları ;Transparn olarak açılış = 80000 ;soldan sağa oluşarak gelir = 40001 ;sağdan sola oluşarak gelir = 40002 ;yukarıdan aşağı oluşarak gelir = 40004 ;alttan yukarıya oluşarak gelir = 40008 ;sol üst köşeden sağ alt köşeye doğru oluşur = 40005 ;sağ üst köşeden sol alt köşeye doğru oluşur = 40006 ;sol alt köşeden sağ üst köşeye doğru oluşur = 40009 ;sağ alt köşeden sol üst köşeye doğru oluşur = 4000A ;orta merkezden dışlara doğru genişleyerek oluşur = 40010 ;== Kapanış Efekt Kodları ;Transparan olarak kapanır = 90000 ;sağa doğru yok olarak kapanır = 50001 ;sola doğru yok olarak kapanır = 50002 ;yukarı doğru yok olarak kapanır = 50008 ;aşağı doğru yok olarak kapanır = 50004 ;sol üst köşeye doğru yok olarak kapanır = 5000A ;sağ alt köşeye doğru yok olarak kapanır = 50005 ;sol alt köşeye doğru yok olarak kapanır = 50006 ;ortaya doğru yok olarak kapanır = 50010 Quote Link to comment Share on other sites More sharing options...
SimpsoN_Bart Posted August 3, 2012 Author Share Posted August 3, 2012 Bilgi[font="Tahoma"]lendirici yorumunuz için teşekkürler. Yalnız bu yazdıklarınız fonksiyonun içinde zaten var ve ben onları in ve out olmak üzere split ettim. Ayrıca deneme yanılma yöntemiyle de öğrenmek zor olmasa gerek. Ayrıca site olarak da kaynak* verdim microsoftun kendi sitesinde gerekli acıklamalar mevcut okumanızı tavsiye ederim..Kolay gelsin.[/font] Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.