Jump to content
Sign in to follow this  
Jadog

How to use checkbox or radio button?

Recommended Posts

Jadog

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 by Jadog

Share this post


Link to post
Share on other sites
water

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 2018-10-19 - Version 1.4.10.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-09-01 - Version 1.3.4.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Share this post


Link to post
Share on other sites
Jadog

Thanks for the tip. I'll update it to ControlSend. Any answer to my original question though?

Share this post


Link to post
Share on other sites
water

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 2018-10-19 - Version 1.4.10.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-09-01 - Version 1.3.4.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Share this post


Link to post
Share on other sites
Jadog

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.

Share this post


Link to post
Share on other sites
Melba23

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

By the way, any good reason why you do not use Send("!m") rather then the more cumbersome syntax you are using? :huh:

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
Jadog

Like I said, I'm very new to this. I don't know the difference between

Send("{ALTDOWN}v{ALTUP}")

and

Send("!m")

Share this post


Link to post
Share on other sites
Melba23

Jadog,

I don't know the difference

As 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._______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
Jadog

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.

Share this post


Link to post
Share on other sites
Melba23

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? :huh:

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
somdcomputerguy

@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.

Share this post


Link to post
Share on other sites
Jadog

@Jadog, does this work for you?

Looks like exactly what I asked for! I'll try and report back. Thanks!

Share this post


Link to post
Share on other sites
somdcomputerguy

You should thank M23. He posted it.


- Bruce /*somdcomputerguy */  If you change the way you look at things, the things you look at change.

Share this post


Link to post
Share on other sites
Jadog

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!!!

Share this post


Link to post
Share on other sites
somdcomputerguy

Good luck with your project!


- Bruce /*somdcomputerguy */  If you change the way you look at things, the things you look at change.

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  

×