Jump to content

Help with buttons


Recommended Posts

Hi Folks ..new to Autoit here and having serious trouble getting my head around the basics :-(

I'm try to create a script that will create an array of nine buttons .1 to 9 . that when clicked will open an image file in a movable window .

I have the nine buttons from example scripts but can only get the buttons to open one image .i.e no matter which button I press I get the same image .

SO what I can't work out is what part of this is controlling which button ... any help appreciated :-)

guisetstate()
While 0
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
       Case $aButtons[0] to $aButtons[ubound($aButtons)-1]
            GUICreate("", 700, 700, Default, Default,$WS_EX_ACCEPTFILES)
            GUICtrlCreatePic("Your.jpg", 0, 0, 600, 600)
            GUISetState()
         EndSwitch
      WEnd

i

This is the full script I have so far ...

 

#include <ButtonConstants.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <GuiButton.au3>
#include <array.au3>

#AutoIt3Wrapper_Add_Constants=n

local $gui010   =   guicreate('')
local $aSize    =   wingetclientsize($gui010)
local $lbl010   =   guictrlcreatelabel('Some meaningful text',0,20,$aSize[0],20,bitor($ss_sunken, $SS_CENTER))

local $aButtons[9], $idx = 0

for $1 = 1 to 3
    for $2 = 1 to 3
        $aButtons[$idx] = guictrlcreatebutton('#' & $idx+1,$2*55,$1*55,35,35)
        $idx += 1
    Next
next

guisetstate()
While 0
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
       Case $aButtons[0] to $aButtons[ubound($aButtons)-1]
            GUICreate("", 700, 700, Default, Default,$WS_EX_ACCEPTFILES)
            GUICtrlCreatePic("Your.jpg", 0, 0, 600, 600)
            GUISetState()
         EndSwitch
      WEnd


      guisetstate()
While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
       Case $aButtons[2] to $aButtons[ubound($aButtons)-2]
            GUICreate("", 700, 700, Default, Default,$WS_EX_ACCEPTFILES)
            GUICtrlCreatePic("pic2", 0, 0, 600, 600)
            GUISetState()
         EndSwitch
         WEnd

Link to comment
Share on other sites

Case $aButtons[0]

GUICreate("", 700, 700, Default, Default, $WS_EX_ACCEPTFILES)

GUICtrlCreatePic("0.jpg", 0, 0, 600, 600)

Case $aButtons[1]

  GUICreate("", 700, 700, Default, Default, $WS_EX_ACCEPTFILES)

  GUICtrlCreatePic("1.jpg", 0, 0, 600, 600)

  ;......

Case $aButtons[8]

  GUICreate("", 700, 700, Default, Default, $WS_EX_ACCEPTFILES)

  GUICtrlCreatePic("8.jpg", 0, 0, 600, 600)

AutoIt Absolute Beginners    Require a serial    Pause Script    Video Tutorials by Morthawt   ipify 

Monkey's are, like, natures humans.

Link to comment
Share on other sites

#include <ButtonConstants.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <GuiButton.au3>
#include <array.au3>

#AutoIt3Wrapper_Add_Constants=n

local $gui010   =   guicreate('')
local $aSize    =   wingetclientsize($gui010)
local $lbl010   =   guictrlcreatelabel('Some meaningful text',0,20,$aSize[0],20,bitor($ss_sunken, $SS_CENTER))

Global $aButtons[9], $idx = 0
Global $aImg[9] = ["img 1", "img 2", "img 3", "img 4", "img 5", "img 6", "img 7", "img 8"]
for $1 = 1 to 3
    for $2 = 1 to 3
        $aButtons[$idx] = guictrlcreatebutton('#' & $idx+1,$2*55,$1*55,35,35)
        $idx += 1
    Next
next
guisetstate()

$gui2 = GUICreate("", 700, 700, Default, Default, -1, $WS_EX_ACCEPTFILES)
$label = GUICtrlCreateLabel("", 0, 0, 600, 600)
  ; $pic = GUICtrlCreatePic("", 0, 0, 600, 600)
GUISetState(@SW_HIDE, $gui2)

While 1
 $msg = GUIGetMsg(1)
    Switch $msg[0]
        Case $GUI_EVENT_CLOSE
            Switch $msg[1]
                Case $gui010
                    Exit
                Case $gui2
                    GUISetState(@SW_HIDE, $gui2)
            EndSwitch
   EndSwitch
   For $k = 0 to 8
     Switch $msg[0]
      Case $aButtons[$k] 
            GuiCtrlSetData($label, $aImg[$k])
         ;   GuiCtrlSetImage($pic, $aImg[$k])
            GUISetState(@SW_SHOW, $gui2)
        EndSwitch
     Next
WEnd

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

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...