Jump to content

How to use checkbox or radio button?


Jadog
 Share

Recommended Posts

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
Link to comment
Share on other sites

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 2022-02-19 - Version 1.6.1.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 (NEW 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

 

Link to comment
Share on other sites

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 2022-02-19 - Version 1.6.1.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 (NEW 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

 

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

  • Moderators

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

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 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

 

Link to comment
Share on other sites

  • Moderators

Jadog,

I don't know the difference

As explained in the Help file, there should not be any - which is why I asked. ;)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 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

 

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

  • Moderators

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

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 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

 

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...