Sign in to follow this  
Followers 0
mrmimi

GUICtrlSetOnEvent prob

4 posts in this topic

#1 ·  Posted (edited)

#include <GUIConstants.au3>

Opt("GUIOnEventMode",4)

GuiCreate("alogin", 482, 300)

GUISetOnEvent($GUI_EVENT_CLOSE, "stop")

;------BUTTONS------------------------------------

$stop = GUICtrlCreateButton("Exit", 110, 160, 70, 25)

GUICtrlSetOnEvent($stop, "stop")

$Start = GUICtrlCreateButton("Start", 10, 160, 40, 25)

GUICtrlSetOnEvent($Start, "GO")

;-------------------------------------

GUISetState()

While GuiGetMsg() <> $stop

WEnd

;---------FUNCTIONS------------------------

Func stop()

ToolTip("i wanna quit ...",470,395)

Sleep(500)

exit

EndFunc

func GO()

ToolTip("A long cycle ... Stop me pls------------------",500,300)

;-------------long cycle here.....like Sleep(9999999999) - so i need to stop it with "Exit" Button?but how ?

;no HotKeys -only with pressing "Exit" button

Sleep(100000000)

EndFunc

Edited by mrmimi

Share this post


Link to post
Share on other sites



ohh sry.Autoit is not multithreading programm-so i cant break my loop via GUI only with HotKeys ?

Share this post


Link to post
Share on other sites

What are you trying to do? You have Opt("GUIOnEventMode",4), but options are 0 or 1. If you were trying to turn that on, GuiGetMsg() is always 0. Your idle loop doesn't contain a sleep(), so you'll be eating up CPU cycles.

Try this. I think it's what you want... just tweak it to your needs.

#include <GUIConstants.au3>

Opt("GUIOnEventMode", 1)

$doit = False

GUICreate('Test', 66, 82)
GUISetOnEvent($GUI_EVENT_CLOSE, 'quit')

GUICtrlCreateButton('toggle', 10, 10, 46, 26)
GUICtrlSetOnEvent(-1, 'toggle')

GUICtrlCreateButton('exit', 10, 46, 46, 26)
GUICtrlSetOnEvent(-1, 'quit')

GUISetState()

While 1
    Sleep(100)
    If $doit Then
        $i = 0
        Do
            $i += 1
            ToolTip('Iteration: ' & $i & '/100')
            Sleep(100)
        Until $i = 100 Or $doit = False
        ToolTip('Stopping Loop...')
        Sleep(1500)
        $doit = False
        ToolTip('')
    EndIf
WEnd

Func toggle()
    $doit = Not $doit
EndFunc

Func quit()
    ToolTip('Exiting...')
    Sleep(1500)
    Exit
EndFunc

Share this post


Link to post
Share on other sites

Thanks a lot ! Ill try

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