Jump to content
  1. Slipk

    Slipk

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Mannyfresh31
      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  
       
       
       
       
       
       
    • By Leo1906
      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
    • By shotiko
      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  
    • By Kovacic
      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!
       
       
    • By 31290
      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
×
×
  • Create New...