Jump to content

slideshow with gui slider


Elzie
 Share

Recommended Posts

Hi I am trying to make a gui that uses a slide to change pictures and uses internet-read from  guinness function.

Thanks for your help.

Ok found the issue

#include <GUIConstantsEx.au3>
#include <SliderConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
#include <WinAPIRes.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 229, 165, 2392, 436)
$Slider = GUICtrlCreateSlider(32, 128, 150, 29)
GUICtrlSetLimit($Slider, 2, 1)
GUICtrlSetData($Slider, 1)
GUICtrlSetBkColor($Slider, 0x0099FF)
GUICtrlSetColor(-1, 0xA6CAF0)
$hSlider_Handle = GUICtrlGetHandle(-1)

$sFile1 = _GetURLImage("http://www.pendriveapps.com/wp-content/uploads/autoit.jpg ", @TempDir)
$sFile2 = _GetURLImage("http://domoticx.com/wp-content/uploads/autoit-logo-200x154.jpg ", @TempDir)
$Hpic1 = GUICtrlCreatePic($sFile1, 56, 8, 108, 108, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))


GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###



While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Slider
            $a = GUICtrlRead($Slider)
            If $a = 2 Then
                GUICtrlDeleteImage($Hpic1)
                $Hpic2 = GUICtrlCreatePic($sFile2, 56, 8, 108, 108, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
            ElseIf $a = 1 Then
                GUICtrlDeleteImage($hpic2)
                $Hpic1 = GUICtrlCreatePic($sFile1, 56, 8, 108, 108, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
            EndIf
    EndSwitch
WEnd

Func _GetURLImage($sURL, $sDirectory = @ScriptDir) ; Author ........: guinness
    Local $hDownload, $sFile
    $sFile = StringRegExpReplace($sURL, "^.*/", "")
    If @error Then
        Return SetError(1, 0, $sFile)
    EndIf
    If StringRight($sDirectory, 1) <> "\" Then
        $sDirectory = $sDirectory & "\"
    EndIf
    $sDirectory = $sDirectory & $sFile
    If FileExists($sDirectory) Then
        Return $sDirectory
    EndIf
    $hDownload = InetGet($sURL, $sDirectory, 17, 1)
    While InetGetInfo($hDownload, 2) = 0
        If InetGetInfo($hDownload, 4) <> 0 Then
            InetClose($hDownload)
            Return SetError(1, 0, $sDirectory)
        EndIf
        Sleep(105)
    WEnd
    InetClose($hDownload)
    Return $sDirectory
EndFunc   ;==>_GetURLImage

Func GUICtrlDeleteImage($iCtrlID) ; Author ........: guinness
    Local Const $STM_SETIMAGE = 0x0172
    Local $aSetImage = 0, _
            $bReturn = True, _
            $iMsg = 0
    Switch _WinAPI_GetClassName($iCtrlID)
        Case 'Button' ; button, checkbox, groupbox, radiobutton.
            Local $aButton = [$IMAGE_BITMAP, $IMAGE_ICON]
            $aSetImage = $aButton
            $aButton = 0
        Case 'Static' ; icon, label, picture.
            Local $aStatic = [$IMAGE_BITMAP, $IMAGE_CURSOR, $IMAGE_ICON]
            $aSetImage = $aStatic
            $aStatic = 0
            $iMsg = $STM_SETIMAGE
        Case Else
            $bReturn = False
    EndSwitch
    If $bReturn Then
        $bReturn = False
        Local $hImage = 0
        For $i = 0 To UBound($aSetImage) - 1
            $hImage = GUICtrlSendMsg($iCtrlID, $iMsg, $aSetImage[$i], 0)
            If $hImage <> 0 Then
                Switch $aSetImage[$i]
                    Case $IMAGE_BITMAP
                        $bReturn = _WinAPI_DeleteObject($hImage)
                    Case $IMAGE_CURSOR
                        $bReturn = _WinAPI_DeleteObject($hImage)
                        If Not $bReturn Then
                            $bReturn = _WinAPI_DestroyCursor($hImage) > 0
                        EndIf
                    Case $IMAGE_ICON
                        $bReturn = _WinAPI_DeleteObject($hImage)
                        If Not $bReturn Then
                            $bReturn = _WinAPI_DestroyIcon($hImage) > 0
                        EndIf
                EndSwitch
                ExitLoop
            EndIf
        Next
        If Not $bReturn Then
            $bReturn = GUICtrlSetImage($iCtrlID, 'shell32.dll', -50) > 0
        EndIf
    EndIf
    Return $bReturn
EndFunc   ;==>GUICtrlDeleteImage

 

Edited by Elzie
fix
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...