Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Func _SlideWin($hWnd, $sMode, $sSide)
- ;$hWnd = Window to slide.
- ;$sMode = Slide-In or -out (in|out)
- ;$sSide = Side where you want the GUI to slide. (left|right|top|bottom)
- ;; Author: Unknown
- Local $aWPos = WinGetPos($hWnd), $m = 0 - ($sMode = "in") + ($sMode = "out")
- Local $h = 0 - ($sSide = "left") + ($sSide = "right"), $v = 0 - ($sSide = "top") + ($sSide = "bottom")
- WinMove($hWnd, "", _ ; Move GUI according to $sMode and $sSide.
- 0 - (($h = -1) * ($m = -1) * ($aWPos[2] - 10)) _
- + (($h = 1) * (($h = 1) * @DesktopWidth - (10 * ($m = -1)) - ($m <> -1) * $aWPos[2])) _
- + (($h = 0) * (($h = 0) * (@DesktopWidth / 2) - ($aWPos[2] / 2))) _
- , _
- 0 - (($v = -1) * ($m = -1) * ($aWPos[3] - 10)) _
- + (($v = 1) * (($v = 1) * @DesktopHeight - (10 * ($m = -1)) - ($m <> -1) * $aWPos[3])) _
- + (($v = 0) * (($v = 0) * (@DesktopHeight / 2) - ($aWPos[3] / 2))) _
- )
- $aWPos = WinGetPos($hWnd)
- ; Slide GUI.
- Switch $sSide
- Case "left", "right"
- Local $STEP = (((($h = 1) And ($m = 1)) Or (($h = -1) And ($m = -1))) - ((($h = -1) And ($m = 1)) Or (($h = 1) And ($m = -1)))) * 10
- Local $FROM = $aWPos[0], $TO = $aWPos[0] _
- + (((($h = 1) And ($m = 1)) Or (($h = -1) And ($m = -1))) * ($aWPos[2])) _
- - (((($h = 1) And ($m = -1)) Or (($h = -1) And ($m = 1))) * ($aWPos[2])) - $STEP
- For $i = $aWPos[0] To $TO Step $STEP
- WinMove($hWnd, "", $i, $aWPos[1])
- Sleep(10)
- Next
- Case "top", "bottom"
- Local $STEP = (((($v = 1) And ($m = 1)) Or (($v = -1) And ($m = -1))) - ((($v = -1) And ($m = 1)) Or (($v = 1) And ($m = -1)))) * 10
- Local $FROM = $aWPos[1], $TO = $aWPos[1] _
- + (((($v = 1) And ($m = 1)) Or (($v = -1) And ($m = -1))) * ($aWPos[3])) _
- - (((($v = 1) And ($m = -1)) Or (($v = -1) And ($m = 1))) * ($aWPos[3])) - $STEP
- For $i = $aWPos[1] To $TO Step $STEP
- WinMove($hWnd, "", $aWPos[0], $i)
- Sleep(10)
- Next
- EndSwitch
- EndFunc ;==>_SlideWin
- Func _SlideWinEx($hWnd, $sMode, $sSide, $sVPos, $bMove = True)
- ;$hWnd = Window to slide.
- ;$sMode = Slide-In or -out (in|out)
- ;$sSide = Side where you want the GUI to slide. (left|right|top|bottom)
- ;$sVPos = vertical Position if $sSide = left|right. (top|mid|bottom)
- ;$bMove = False if you don't want to move the window but just set to the startposition
- ;; Author: Unknown (_SlideWinEx)
- ;; Modified: FichteFoll
- Local $aWPos = WinGetPos($hWnd), $m = 0 - ($sMode = "in") + ($sMode = "out")
- Local $h = 0 - ($sSide = "left") + ($sSide = "right"), $v = 0 - ($sSide = "top") + ($sSide = "bottom")
- Local $hv = 0 - ($sVPos = "top") + ($sVPos = "bottom")
- Local $cx, $cy
- $cx = 0 - (($h = -1) * ($m = -1) * ($aWPos[2] - 10)) _ ; $sSide = left
- + (($h = 1) * (@DesktopWidth - (10 * ($m = -1)) - ($m <> -1) * $aWPos[2])) _ ; $sSide = right
- + (($h = 0) * ((@DesktopWidth / 2) - ($aWPos[2] / 2))) ; $sSide = top|bottom
- $cy = 0 - (($v = -1) * ($m = -1) * ($aWPos[3] - 10)) _ ; $sSide = top
- + (($v = 1) * (@DesktopHeight - (10 * ($m = -1)) - ($m <> -1) * $aWPos[3])) _ ; $sSide = bottom
- + (($h <> 0) * ($hv = 0) * ((@DesktopHeight / 2) - ($aWPos[3] / 2))) _ ; vP = mid & $sSide = left|right
- + (($h <> 0) * ($hv = 1) * (@DesktopHeight - $aWPos[3])) ; vP = bottom & $sSide = left|right
- ; vP = top and left|right --> $cy = 0
- ; Set GUI position according to $sMode, $sSide and $sVPos
- If $bMove = False Then Return WinMove($hWnd, "", $cx, $cy)
- $aWPos = WinGetPos($hWnd)
- ; Slide GUI.
- Switch $sSide
- Case "left", "right"
- Local $STEP = (((($h = 1) And ($m = 1)) Or (($h = -1) And ($m = -1))) - ((($h = -1) And ($m = 1)) Or (($h = 1) And ($m = -1)))) * 10
- Local $FROM = $aWPos[0], $TO = $aWPos[0] _
- + (((($h = 1) And ($m = 1)) Or (($h = -1) And ($m = -1))) * ($aWPos[2])) _
- - (((($h = 1) And ($m = -1)) Or (($h = -1) And ($m = 1))) * ($aWPos[2])) - $STEP
- For $i = $aWPos[0] To $TO Step $STEP
- WinMove($hWnd, "", $i, $aWPos[1])
- Sleep(10)
- Next
- Case "top", "bottom"
- Local $STEP = (((($v = 1) And ($m = 1)) Or (($v = -1) And ($m = -1))) - ((($v = -1) And ($m = 1)) Or (($v = 1) And ($m = -1)))) * 10
- Local $FROM = $aWPos[1], $TO = $aWPos[1] _
- + (((($v = 1) And ($m = 1)) Or (($v = -1) And ($m = -1))) * ($aWPos[3])) _
- - (((($v = 1) And ($m = -1)) Or (($v = -1) And ($m = 1))) * ($aWPos[3])) - $STEP
- For $i = $aWPos[1] To $TO Step $STEP
- WinMove($hWnd, "", $aWPos[0], $i)
- Sleep(10)
- Next
- EndSwitch
- EndFunc ;==>_SlideWinEx
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement