Jump to content

_Sk_Animatewindowex


SimpsoN_Bart
 Share

Recommended Posts

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 by SimpsoN_Bart
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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]

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...