Search the Community
Showing results for tags 'GUIOnEventMode'.
-
Hello everyone, I have a problem that from the title may sound a little bit confusing. I have a listview interface with a context menu and as you know it's working only if GuiOnEventMode is enabled. However, I need a script that can check whenever the user right click on a listview item and automatically enable GuiOnEventMode to make the function run when he click menu item. I have some buttons next to listview that need to work while this is possible too. It this even can be done? Thank you and sorry for my bad english.
-
Hello everybody I need help with Opt("GUIOnEventMode",1) I Normally use GUIGetMsg() but I want to learn how GUIOnEventMode works so I created a little test GUI the start button works fine and everything but the problem is that the stop button won't work down below is the code I made and I'm wondering if someone with experience can explain me and the rest o newbies how it works and also if can post the code already fixed #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <ProgressConstants.au3> #include <WindowsConstants.au3> $Stop = False $X=1 $i = 0 Opt("GUIOnEventMode",1) #Region ### START Koda GUI section ### Form= Global $Form1 = GUICreate("Form1", 579, 212, 192, 124) Global $Button1 = GUICtrlCreateButton("Stop", 432, 136, 75, 25) Global $Button2 = GUICtrlCreateButton("Start", 96, 136, 75, 25) Global $Progress1 = GUICtrlCreateProgress(24, 40, 526, 49) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### GUISetOnEvent ($GUI_EVENT_CLOSE, "_exit",$Form1 ) GUICtrlSetOnEvent($Button1,"_Stop") GUICtrlSetOnEvent($Button2,"DecreaseAndIncrement") While 1 sleep(500) WEnd Func _Stop () $Stop = True EndFunc Func _exit () Exit EndFunc Func DecreaseAndIncrement () $Stop = False While $Stop = False $i+=$X ;ConsoleWrite($i & @CRLF) GUICtrlSetData($Progress1,$i) Sleep(80) if $i = 105 Then $X = -1 if $i = 0 Then $X = 1 WEnd EndFunc here is the version that works with GUIGetMsg() #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <ProgressConstants.au3> #include <WindowsConstants.au3> $Stop = False $X=1 $i = 0 #Region ### START Koda GUI section ### Form= Global $Form1 = GUICreate("Form1", 579, 212, 192, 124) Global $Button1 = GUICtrlCreateButton("Stop", 432, 136, 75, 25) Global $Button2 = GUICtrlCreateButton("Start", 96, 136, 75, 25) Global $Progress1 = GUICtrlCreateProgress(24, 40, 526, 49) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button2 DecreaseAndIncrement () case $Button1 $Stop = True EndSwitch WEnd Func DecreaseAndIncrement () $Stop = False While $Stop = False $i+=$X ;ConsoleWrite($i & @CRLF) GUICtrlSetData($Progress1,$i) Sleep(80) if $i = 105 Then $X = -1 if $i = 0 Then $X = 1 $nMsg2 = GUIGetMsg() Switch $nMsg2 Case $GUI_EVENT_CLOSE Exit case $Button1 $Stop = True EndSwitch WEnd EndFunc
- 2 replies
-
- guioneventmode
- guictrlsetonevent
-
(and 1 more)
Tagged with:
-
I read about GUIOnEventMode while making my research and I found out that you can't use Opt("GUIOnEventMode", 1) and $msg = GUIGetMsg() at the same time. So far so good. In my script I am spawning a few child GUIs and only for the main GUI I need interaction with buttons etc. My question now is, is it possible to set those flags specifically for a single GUI? Can I somehow pass the handle to a GUI this option should affect? And for the main GUI I use GuiGetMsg? I hope you can understand what I'm trying to do .. Thanks for your help
-
here I am writing simple gui with text processing capabilities. i have main gui, background picture, all buttons with labels over them 2 static buttons (1 present here) Opt("GUIOnEventMode", 1) and includes $main = GUICreate("Title", 961, 721); Main Window $bgpic = GUICtrlCreatePic(@WorkingDir & "\960x720.jpg", 0, 0, 960, 720); use background picture $quitBtn = GUICtrlCreateButton("Quit", 885, 685, 95, 40) GUICtrlSetOnEvent($quitBtn, "_exit"); assign quit button to function "exit" _GuiCtrlMakeTrans(-1, 1) $quitLabel = GUICtrlCreateLabel("Quit", 885, 685, 95, 40, BitOR($SS_CENTER, $BS_BOTTOM)) GUICtrlSetFont(-1, 14, 400, 0, "Tahoma") GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) GUICtrlSetColor(-1, 0x962129) GUISetState(@SW_SHOW) then i have the code for creating buttons dynamically from information in file Dim $Button[$NumberFromText] $startX = 48 $startY = 24 $fromLeft = 240 $bHeigh = 160 $bWidth = 50 Dim $1to4btn[0] For $x = 0 To _Min(UBound($Button) - 1, 3) ; creates maximum 4 button, label $Button = GUICtrlCreateButton($x, $startX, $startY, $bHeigh, $bWidth); create buttons _GuiCtrlMakeTrans(-1, 1) ; transparency 255 Solid, 0 Transparent $serverLabel = GUICtrlCreateLabel(FileReadLine($configF, $SN), _ ; read 1st line and 5 below on each iteration $startX, $startY, $bHeigh, $bWidth, BitOR($SS_CENTER, $SS_CENTERIMAGE, $WS_EX_TRANSPARENT)); GUICtrlSetFont(-1, 14, 400, 0, "Tahoma"); set font and size GUICtrlSetColor($serverLabel, 0x04A111); set color of font GUICtrlSetBkColor($serverLabel, $GUI_BKCOLOR_TRANSPARENT); make label Background transparent $SN += 5; read 5 lines below $startX = $startX + $fromLeft $btnArray=_ArrayAdd($1to4btn, GUICtrlGetHandle($Button)) Next since buttons are created under the label $Button and I couldn't conacenate $Button[$i] , I created array and place handles into it and connected static buttons with GUICtrlSetOnEvent($cancelBtn,"cancelFunc") and it worked now i tried using handles to assign functions to buttons but it fails with GUICtrlSetOnEvent() also tried GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "funcForFirstButton", $1to4btn[0]) if I assign without handle it works by clicking anywhere on MainGUI While loop includes only sleep(10) Window starts as inactive and return code 7 If i click dynamically created buttons, window loses focus . clicking anywhere else focuses window this is _GuiCtrlMakeTrans function (found here on forums some time ago) also created simple button on the same mainGUI and tried but didn't work $try=GUICtrlCreateButton("TRY",250,150,100,35) GUICtrlSetOnEvent(-1,"FunctionOne") ; shows messagebox and write console
- 3 replies
-
- guigetstate
- guisetonevent
-
(and 2 more)
Tagged with:
-
Semi experienced developer here.. I have never fully gotten the handle of using GUIOnEventMode, so i thought I would try it with a small simple program that I can paste some text into, then have it count down, and type it out for me.. I use this for when I am iLO into a server and I cant paste. For those of you not familiar with iLO, it stands for Integrated Lights Out. in short, it lets you remote into a server even if its having BIOS issue and wont start.. more details here: http://www8.hp.com/us/en/products/servers/ilo/ Anyway, when in iLO, you cant paste anything. Sometimes I need to copy bash scripting from my computer to the server, so I drop it in the little app, then use it to type out the script in the iLO screen. I have it so it does a countdown before sending the keys, and a delay between each key ( because iLO will sometimes hang up a little ). The app I am trying to write will count down, then send whatever is in the edit box. I also have a stop button in case you want to stop the app, but that doesn't seem to do anything. I feel like I'm using GUIOnEventMode improperly. Can someone take a peek? #include <GUIConstantsEx.au3> #include <ButtonConstants.au3> #include <ComboConstants.au3> #include <EditConstants.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> ;Opt ("GUICoordMode", 2) Opt ("GUIResizeMode", 1) Opt ("GUIOnEventMode", 1) GUISetOnEvent ($GUI_EVENT_CLOSE, "SpecialEvents") GUISetOnEvent ($GUI_EVENT_MINIMIZE, "SpecialEvents") GUISetOnEvent ($GUI_EVENT_RESTORE, "SpecialEvents") $Form1 = GUICreate ("Sender", 615, 438, 192, 124) $edit = GUICtrlCreateEdit ("", 8, 128, 601, 305) $stop = GUICtrlCreateButton ("STOP", 496, 60, 100, 25) GUICtrlSetOnEvent (-1, "stop") $SEND = GUICtrlCreateButton ("SEND", 496, 88, 100, 25) GUICtrlSetOnEvent (-1, "sendit") $SecsToWaitB4Sending = GUICtrlCreateInput("10", 200, 32, 145, 25) GUICtrlCreateLabel ("Seconds to wait before sending", 40, 32, 153, 17) GUICtrlCreateLabel ("Delay between char sent in ms.", 40, 64, 152, 17) $MSBetweenLEtters = GUICtrlCreateInput ("100", 200, 64, 145, 25) GUISetState (@SW_SHOW) While 1 Sleep(5) WEnd Func stop() GUICtrlSetData($SEND, "SEND") EndFunc ;==>stop Func sendit() Local $h = Int(GUICtrlRead($SecsToWaitB4Sending)) GUICtrlSetData($SEND, "Waiting") For $i = 1 To Int(GUICtrlRead($SecsToWaitB4Sending)) GUICtrlSetData($SEND, $h) For $c = 1 To 100 Sleep(1) Next $h -= 1 Next GUICtrlSetData($SEND, "Typing") Opt("SendKeyDelay", Int(GUICtrlRead($MSBetweenLEtters))) Send(GUICtrlRead($edit), 1) GUICtrlSetData($SEND, "SEND") EndFunc ;==>sendit Func SpecialEvents() Select Case @GUI_CtrlId = $GUI_EVENT_CLOSE Exit Case @GUI_CtrlId = $GUI_EVENT_MINIMIZE ; Case @GUI_CtrlId = $GUI_EVENT_RESTORE ; EndSelect EndFunc ;==>SpecialEvents Thanks in advance!
-
Hi everyone, I'm requesting your help over here because I can't figure something that is going to pull all of my hear and, if possible, I would like to make another ask. Here's the deal: #include <FileConstants.au3> #include <Array.au3> #include <ButtonConstants.au3> #include <ColorConstants.au3> #include <ComboConstants.au3> #Include <Constants.au3> #include <Crypt.au3> #include <Date.au3> #include <File.au3> #Include <FontConstants.au3> #include <GUIConstantsEx.au3> #include <GuiEdit.au3> #include <GuiListView.au3> #include <GuiMenu.au3> #include <Misc.au3> #include <MsgBoxConstants.au3> #include <ProgressConstants.au3> #include <ScreenCapture.au3> #include <StaticConstants.au3> #include <WinAPI.au3> #include <WindowsConstants.au3> Global $FileChosen = "" ; Global $Images = "C:\SAC_IS\ATL_Laptop\Resources\Images\" Global $UploadSource = "" Global $UploadDest = "\\epeldol01\Automated Task List Suite\Bug Tracker\" Opt("GUIOnEventMode", 1) UploadGui() Func UploadGui() ;ADD SMALL ICON! ; e.g GUISetIcon ($Images & "\ResultsGUI.ico") Global $UploadGui = GUICreate ("Upload", 300, 300, -1, -1) ; GUICtrlCreatePic ($Images & "\SAClogo.jpg", 30, 10, 240, 80) GUISetBkColor ($Color_White) GuiCtrlCreateLabel ("-- ATLS BUG TRACKER --", 85, 100, 150, 25) GUICtrlSetFont (-1, 8.5, 700, 0) GUICtrlCreateLabel ("-Step one:", 10, 130, 100, 30) GUICtrlSetFont (-1, 8.5, 700, 0) GUICtrlCreateButton ("Choose file to upload", 90, 125, 120, 25) GUICtrlSetOnEvent (-1, "_ChooseFile") GuiCtrlCreateLabel ("-Step two:", 10, 170, 100, 30) GUICtrlSetFont (-1, 8.5, 700, 0) GUICtrlCreateButton ("Give us details", 100, 165, 100, 25) GUICtrlSetOnEvent (-1, "_Details") GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit", $UploadGui) ; GUICtrlSetOnEvent (-1, "_UploadFile") ; Global $NameOfFile = While 1 GuiSetState (@SW_SHOW) WEnd EndFunc Func _ChooseFile() ; Display an open dialog to select a file. Global $UploadSource = FileOpenDialog("Select File to Upload", @HomePath & "\", "Images (*.jpg;*.bmp)") ; If $UploadSource <> "" Then ; GUISetOnEvent EndFunc Func _UploadFile() If $UploadSource = "" Then MsgBox ($MB_SYSTEMMODAL, "", "No file was selected. Choose a file first!") Else _CopyToLdrep($UploadSource, $UploadDest) EndIf EndFunc ;Upload Function ; Func _CopyToLdrep ($fromfile, $tofile) ; Local $FOF_RESPOND_YES = 16 ; Local $FOF_SIMPLEPROGRESS = 256 ; $winShell = ObjCreate ("shell.application") ; $winShell.namespace ($tofile).CopyHere ($fromFile, $FOF_RESPOND_YES) ; EndFunc ;Details Function Func _Details() Opt("GUIOnEventMode", 1) $DetailsGui = GUICreate ("Details", 300, 400, -1, -1) ; GUICtrlCreatePic ($Images & "\SAClogo.jpg", 30, 10, 240, 80) GUISetBkColor ($Color_White) GuiCtrlCreateLabel ("-- ATLS BUG TRACKER --", 85, 100, 150, 25) GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit") GuiCtrlCreateEdit ("Please describe the context, Date & Time, etc..." & @CRLF & "Also, provide your name and phone number just in case.", 5, 100, 290, 250) GuiCtrlCreateButton ("Submit", 125, 370, -1, -1) GuiCtrlSetOnEvent (-1, "_Submit") While 1 GuiSetState (@SW_SHOW) Wend EndFunc Func _Exit() Exit EndFunc Func _Submit() msgbox (0, "re", "re") EndFuncI'm trying to create a sort of upload module for my techs to be able to submit "bugs"... The first GUI works perfectly but when I want to "Submit" the text they entered there's no way that button is working. I can't even close the windows with the little cross. But, when isolating the function and running it like: #include <FileConstants.au3> #include <Array.au3> #include <ButtonConstants.au3> #include <ColorConstants.au3> #include <ComboConstants.au3> #Include <Constants.au3> #include <Crypt.au3> #include <Date.au3> #include <File.au3> #Include <FontConstants.au3> #include <GUIConstantsEx.au3> #include <GuiEdit.au3> #include <GuiListView.au3> #include <GuiMenu.au3> #include <Misc.au3> #include <MsgBoxConstants.au3> #include <ProgressConstants.au3> #include <ScreenCapture.au3> #include <StaticConstants.au3> #include <WinAPI.au3> #include <WindowsConstants.au3> test() Func test() Opt("GUIOnEventMode", 1) $DetailsGui = GUICreate ("Details", 300, 400, -1, -1) ; GUICtrlCreatePic ($Images & "\SAClogo.jpg", 30, 10, 240, 80) GUISetBkColor ($Color_White) GuiCtrlCreateLabel ("-- ATLS BUG TRACKER --", 85, 100, 150, 25) GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit") GuiCtrlCreateEdit ("Please describe the context, Date & Time, etc..." & @CRLF & "Also, provide your name and phone number just in case.", 5, 100, 290, 250) GuiCtrlCreateButton ("Submit", 125, 370, -1, -1) GuiCtrlSetOnEvent (-1, "_Submit") GuiSetState (@SW_SHOW) While 1 Sleep (10) Wend EndFunc Func _Exit() Exit EndFunc Func _Submit() msgbox (0, "re", "re") EndFuncThis is working nicely and my msgbox proves it. Second ask is that when a tech finished to choose a file and when he clicked on the "Submit" button, how can I add some "checkmark" meaning this is done and that he can perform the upload? (Indeed, both conditions must me fulfilled to send files to the server). Or maybe a disabled "Send files" button... But I can't figure that out. Thanks very much in advance for the help you could provide See ya
-
I have the following code: I cannot get the last button in the third GUI to do anything. Can a NEW pair of eys check it out and see what I did wrong? #include <GUIConstantsEx.au3> Global $_GuiAir, $_Button666, $bPassed = False, $_GuiName Example() Func Example() Opt("GUIOnEventMode", 1) GUICreate("Parent1") GUISetOnEvent($GUI_EVENT_CLOSE, "SpecialEvents") GUISetOnEvent($GUI_EVENT_MINIMIZE, "SpecialEvents") GUISetOnEvent($GUI_EVENT_RESTORE, "SpecialEvents") GUICtrlCreateButton("New Gui", 10, 60, 50) GUICtrlSetOnEvent(-1, "_Air") GUISetState(@SW_SHOW) ; Just idle around While 1 Sleep(10) WEnd EndFunc ;==>Example Func _Air() $_GuiAir = GUICreate('Air Call') GUISetOnEvent($GUI_EVENT_CLOSE, "SpecialEvents") $_Button666 = GUICtrlCreateButton('TestIT', 0, 0) GUICtrlSetOnEvent($_Button666, "__AirCall") GUISetState(@SW_SHOW, $_GuiAir) EndFunc ;==>_Air Func __AirCall() Switch @GUI_CtrlId Case $_Button666 ;MsgBox('', '', 'pop') Name('name') If $bPassed Then GUISetState(@SW_HIDE, $_GuiName) GUIDelete($_GuiName) GUISetState(@SW_HIDE, $_GuiAir) GUIDelete($_GuiAir) $bPassed = False EndIf EndSwitch EndFunc ;==>__AirCall Func Name($sName) Local $font = "Comic Sans MS" $sAnswer = $sName $_GuiName = GUICreate('Air Check' & $sName, 400, 200) GUISetOnEvent($GUI_EVENT_CLOSE, "SpecialEvents") ;GUICtrlCreateLabel($sName, 50, 5, 200, 50) ;GUICtrlSetFont(-1, 20, 400, 1, $font) ;$_InputCheck = GUICtrlCreateInput('', 50, 100, 200, 50) ;GUICtrlSetFont(-1, 20, 400, 1, $font) $_ButtonCheck = GUICtrlCreateButton('CHECK', 20, 150, 50, 30) GUISetOnEvent($_ButtonCheck, 'test') GUISetState(@SW_HIDE, $_GuiAir) GUIDelete($_GuiAir) GUISetState(@SW_SHOW, $_GuiName) EndFunc ;==>Name Func test() MsgBox('', '', 'button pressed') EndFunc ;==>test Func SpecialEvents() Select Case @GUI_CtrlId = $GUI_EVENT_CLOSE MsgBox(0, "Close Pressed", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle) Exit Case @GUI_CtrlId = $GUI_EVENT_MINIMIZE MsgBox(0, "Window Minimized", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle) Case @GUI_CtrlId = $GUI_EVENT_RESTORE MsgBox(0, "Window Restored", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle) EndSelect EndFunc ;==>SpecialEvents
-
Hi Folks, maybe this is a stupid question, but anyway here it goes. I have a Script in GUI mode running on event mode. I also have a variable number of buttons the user may press. This is an example of how I'm doing it right now: Dim $aButtons[4] Opt("GUIOnEventMode", 1) GUICreate("MyGUI", 800, 600, -1, -1, BitOr($GUI_SS_DEFAULT_GUI, $WS_SIZEBOX, $WS_THICKFRAME, $WS_MAXIMIZEBOX)) GuiSetOnEvent($GUI_EVENT_CLOSE, "ClickClose") _CreateButtons(4) GUISetState(@SW_SHOW) While 1 Sleep(1000) WEnd Func _CreateButtons($iAmount) Local $x, $y For $i = 1 To $iAmount $aButtons[$i] = GUICtrlCreateButton("Button " & $i, 10 + $i * 50, 30 + $y, 40, 40) GuiCtrlSetOnEvent(-1, "ClickButton" & $i) If $i >= $iAmount / 2 Then $y = 70 Next EndFunc Func ClickClose() Exit EndFunc Func ClickButton1() _ClickedButton(1) EndFunc Func ClickButton2() _ClickedButton(2) EndFunc Func ClickButton3() _ClickedButton(3) EndFunc Func ClickButton4() _ClickedButton(4) EndFunc Func _clickedButton($id) ConsoleWrite("Well, now you've clicked on " & $id & @CRLF) EndFunc The "problem" is that I need to create a function for each button, which I believe is suboptimal. The amount of available buttons is configurable over an ini file, so it's not hard-coded as in the example. Any hint is appreciated.
- 2 replies
-
- guioneventmode
- controls
-
(and 1 more)
Tagged with: