Sign in to follow this  
Followers 0
Miniz

Run function by clicking an image?

6 posts in this topic

Is there any way to run a function by clicking an image?

Just like the Javascript onclick function?

CODE

Func arrgh()

MsgBox('','Arrrgh!',"Don't you pick on me!")

EndFunc

$GUI = GUICreate("Arrrgh", 300,300)

$IMG = GUICtrlCreatePic("some.pirate.jpg", 0, 0, 300, 300) ; Make this picture run arrgh() : O

GUISetState()

While GUIGetMsg() <> -3

sleep(100)

WEnd

-Alexander

Share this post


Link to post
Share on other sites



Miniz,

Your image is a control like any other - so use it as such:

Func arrgh()
MsgBox('','Arrrgh!',"Don't you pick on me!")
EndFunc

$GUI = GUICreate("Arrrgh", 300,300)
$IMG = GUICtrlCreatePic("some.pirate.jpg", 0, 0, 300, 300); This picture runs!
GUISetState()

While 1
    Switch GUIGetMsg()
        Case  -3
            Exit
        Case $IMG
            arrgh()
    EndSwitch
WEnd

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

Thank you! You're my hero! ; )

Share this post


Link to post
Share on other sites

Or maby not, I want the function to run when someone click on the image, not all the time x ) any solutions? : )

Alexander

Share this post


Link to post
Share on other sites

Miniz,

Sounds like your image is not getting created - then $IMG = 0 and triggers all the time. Try adding some error checking:

Func arrgh()
MsgBox('','Arrrgh!',"Don't you pick on me!")
EndFunc

$GUI = GUICreate("Arrrgh", 300,300)
$IMG = GUICtrlCreatePic("some.pirate.jpg", 0, 0, 300, 300); This picture runs!
If $IMG = 0 Then
    MsgBox(0,"Error", "No pic!")
    Exit
EndIf
GUISetState()

While 1
    Switch GUIGetMsg()
        Case  -3
            Exit
        Case $IMG
            arrgh()
    EndSwitch
WEnd

If you get an error - you do not have a picture!

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

It did work now : ) thank you for your help !

Share this post


Link to post
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
Sign in to follow this  
Followers 0