Jadog Posted October 28, 2012 Posted October 28, 2012 (edited) I have created a rather lengthy script and I am still pretty new to this. I'm having trouble figuring out how to use the radio button or checkboxes. For example, I have the following two radio buttons defined in my script:$Group2 = GUICtrlCreateGroup("Import or Verify", 24, 256, 153, 73) $Radio1 = GUICtrlCreateRadio("Import", 32, 280, 113, 17) GUICtrlSetState(-1, $GUI_CHECKED) $Radio2 = GUICtrlCreateRadio("Verify", 32, 296, 113, 17) GUICtrlSetTip(-1, "Verify will only write to log files") GUICtrlCreateGroup("", -99, -99, 1, 1)Then, I have the following code below in aproximately 20 or more places throughout my script:;Import (m) or Verify (v) Send("{ALTDOWN}m{ALTUP}")Depending on if the Radio1 or Radio2 button is selected:If $Radio1 is selected from my GUI, then I want the code above to be - Send("{ALTDOWN}m{ALTUP}")If $Radio2 is selected from my GUI, then I want the code above to be - Send("{ALTDOWN}v{ALTUP}") Edited October 28, 2012 by Jadog
water Posted October 28, 2012 Posted October 28, 2012 Where do you want to send Alt+m, Alt+v to? Send isn't very reliable because the user could interfere with your script. Use ControlSend if you want to send the keystrokes to another application. My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
Jadog Posted October 28, 2012 Author Posted October 28, 2012 Thanks for the tip. I'll update it to ControlSend. Any answer to my original question though?
water Posted October 28, 2012 Posted October 28, 2012 Sure. Have a look at the help file for function GUICtrlCreateRadio. There you'll find an example. My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
Jadog Posted October 28, 2012 Author Posted October 28, 2012 Sure. Have a look at the help file for function GUICtrlCreateRadio. There you'll find an example.Yes, I've reviewed this example many times. If I only needed to perfom the function of- Send("{ALTDOWN}m{ALTUP}") -just once, this would work. What I can't figure out is how to implement this into a script where this particular function occurs many times.
Moderators Melba23 Posted October 28, 2012 Moderators Posted October 28, 2012 Jadog,Use an If structure: If GUICtrlRead($Radio1) = 1 Then ; Radio1 is checked Send("{ALTDOWN}m{ALTUP}") Else ; Radio1 is not checked - so Radio2 must be Send("{ALTDOWN}v{ALTUP}") EndIfBy the way, any good reason why you do not use Send("!m") rather then the more cumbersome syntax you are using? M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
Jadog Posted October 28, 2012 Author Posted October 28, 2012 Like I said, I'm very new to this. I don't know the difference betweenSend("{ALTDOWN}v{ALTUP}")and Send("!m")
Moderators Melba23 Posted October 28, 2012 Moderators Posted October 28, 2012 Jadog,I don't know the differenceAs explained in the Help file, there should not be any - which is why I asked. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
Jadog Posted October 28, 2012 Author Posted October 28, 2012 Awesome. I'm learning all kinds of great stuff here. I'll be updating my code to use Send("!m") instead. I really do appreciate all this helpful input. Most of my code comes from using the recorder. No doubt you would be horrified of how badly my script is written. I've refrained from posting the script due to the fact that it is more than 1000 lines long.I'm still looking for a way though to effectivly use radio buttons to change the - Send("!m") -to- Send("!v") - throughout the many places it occures in my script based on whether Radio1 or Radio2 is selected.
Moderators Melba23 Posted October 28, 2012 Moderators Posted October 28, 2012 Jadog,I'm still looking for a way though to effectivly use radio buttons to change the - Send("!m") -to- Send("!v") - throughout the many places it occures in my script based on whether Radio1 or Radio2 is selected.And what do you think the snippet of code I posted eariler was supposed to be? M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
somdcomputerguy Posted October 28, 2012 Posted October 28, 2012 @Jadog, does this work for you? Jadog, Use an If structure: If GUICtrlRead($Radio1) = 1 Then ; Radio1 is checked Send("{ALTDOWN}m{ALTUP}") Else ; Radio1 is not checked - so Radio2 must be Send("{ALTDOWN}v{ALTUP}") EndIf - Bruce /*somdcomputerguy */ If you change the way you look at things, the things you look at change.
Jadog Posted October 28, 2012 Author Posted October 28, 2012 @Jadog, does this work for you?Looks like exactly what I asked for! I'll try and report back. Thanks!
somdcomputerguy Posted October 28, 2012 Posted October 28, 2012 You should thank M23. He posted it. - Bruce /*somdcomputerguy */ If you change the way you look at things, the things you look at change.
Jadog Posted October 28, 2012 Author Posted October 28, 2012 You should thank M23. He posted it.Your right! I'm sorry - too many hours working too late! I totally missed it the first time. Thank you Melba23!!!
somdcomputerguy Posted October 28, 2012 Posted October 28, 2012 Good luck with your project! - Bruce /*somdcomputerguy */ If you change the way you look at things, the things you look at change.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now