Detect if the focus item is a button or check box
My dears I have a problem
When I try to use
it doesn't recognize the check boxes.
The result is that the selector is a button
Although the specified is a check box
but I want a way to identify the check boxes.
Because I want to make a tool that helps screen readers users
I hope you have the solution.
Thank you in advance.
I created 3 radio buttons and when the script is run, the selected buttons display the text on the right of the actual button. Also, it appears like the radio button occupies space around it, as it obscures part of the other controls when I hover the mouse around it. I would like to group the buttons closer together and put other controls on the right of them. I also wanted to make the button text display on the left side of the button.
Here is my test code:
#AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 Opt("GUICloseOnESC", 1) ; ESC closes GUI? (0 = no, 1 = yes) Opt("GUIOnEventMode", 1) ; Change to OnEvent mode Opt('MustDeclareVars', 1) OnAutoItExitRegister("ExitStageLeft") Opt("GUIEventOptions", 1) ;0=default, 1=just notification, 2=GuiCtrlRead tab index _Main() Func _Main() GUICreate("test", 300, 300, -1, -1, -1, -1) GUIStartGroup() local $x = 50, $y = 10, $w = 40, $h = 15,$spcY = 15 GUICtrlCreateRadio("", $x, $y, $w, $h) GUICtrlCreateRadio("ABC", $x, $y + ($spcY*1), $w, $h) GUICtrlCreateRadio("", $x, $y + ($spcY*2), $w, $h) GUIStartGroup() GUICtrlCreateInput("An Input Control", 70, 10, 110, 30) GUICtrlCreateInput("Another Input Control", 10, 73, 110, 20) GUISetOnEvent(-3, 'ExitStageLeft') GUISetState(@SW_SHOW) While (1) Sleep(251) WEnd EndFunc Func ExitStageLeft() Exit EndFunc I want "ABC" to display on the left of the 2nd radio button.
I am maybe an intermediate AutoIt script writer, but have no experience creating GUIs.
I have a script with two functions. One for Checkboxes and another with radio buttons. Each function creates it's own window.
I'd like to use one window with both checkboxes and radio buttons.
I pulled samples from AutoIt Help and other places and worked it into this: (RadioCheck still uses the example Case and MsgBoxes. I will clean this up soon)
Func CheckOptions() ; Create a GUI with various controls. Local $hGUI = GUICreate("SGX4CP Options", 275, 250) ; Create a checkbox control. Local $iLoopCheckbox = GUICtrlCreateCheckbox("Loop", 10, 10, 185, 25) Local $iFullScreenCheckbox = GUICtrlCreateCheckbox("Fullscreen", 10, 40, 185, 25) Local $iRestartPlaybackCheckbox = GUICtrlCreateCheckbox("Restart Playback from Sleep", 10, 70, 185, 25) GUICtrlSetState($iRestartPlaybackCheckbox, $GUI_CHECKED) Local $iDisableSleepCheckbox = GUICtrlCreateCheckbox("Disable Sleep", 10, 100, 185, 25) Local $iLogCheckbox = GUICtrlCreateCheckbox("Show Log", 10, 130, 185, 25) GUICtrlSetState($iLogCheckbox, $GUI_CHECKED) Local $idClose = GUICtrlCreateButton("Next", 110, 220, 85, 25) ; Display the GUI. GUISetState(@SW_SHOW, $hGUI) ; Loop until the user exits. While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE, $idClose ExitLoop Case $iLoopCheckbox If _IsChecked($iLoopCheckbox) Then $bLoopChecked = True Else $bLoopChecked = False EndIf Case $iFullScreenCheckbox if _IsChecked($iFullScreenCheckbox) Then $bFullScreenChecked = True Else $bFullScreenChecked = False EndIf Case $iRestartPlaybackCheckbox if _IsChecked($iRestartPlaybackCheckbox) Then $bRestartPlaybackChecked = True Else $bRestartPlaybackChecked = False EndIf Case $iDisableSleepCheckbox if _IsChecked($iDisableSleepCheckbox) Then $bDisableSleepChecked = True Else $bDisableSleepChecked = False EndIf Case $iLogCheckbox if _IsChecked($iLogCheckbox) Then $bLogChecked = True Else $bLogChecked = False EndIf EndSwitch WEnd ; Delete the previous GUI and all controls. GUIDelete($hGUI) EndFunc Func RadioCheck() GUICreate("Select Test",300,180) ; will create a dialog box that when displayed is centered Local $idRadio1 = GUICtrlCreateRadio("Loop Forever", 10, 10) Local $idRadio2 = GUICtrlCreateRadio("Play each video 3 times", 10, 40) Local $idRadio3 = GUICtrlCreateRadio("Play each video separately", 10, 70) GUICtrlSetState($idRadio1, $GUI_CHECKED) Local $idClose = GUICtrlCreateButton("Start Test", 120,100) GUISetState(@SW_SHOW) Local $idMsg ; Loop until the user exits. While 1 $idMsg = GUIGetMsg() Select Case $idMsg = $GUI_EVENT_CLOSE ExitLoop Case $idMsg = $idRadio1 And BitAND(GUICtrlRead($idRadio1), $GUI_CHECKED) = $GUI_CHECKED MsgBox($MB_SYSTEMMODAL, 'Info:', 'The app will run forever, playing each video once, then looping back to the first video.') $bTestSelectForever = True Case $idMsg = $idRadio2 And BitAND(GUICtrlRead($idRadio2), $GUI_CHECKED) = $GUI_CHECKED MsgBox($MB_SYSTEMMODAL, 'Info:', 'Each video will loop 3 times then move to the next video.') $bTestSelect3Times = True Case $idMsg = $idRadio3 And BitAND(GUICtrlRead($idRadio2), $GUI_CHECKED) = $GUI_CHECKED MsgBox($MB_SYSTEMMODAL, 'Info:', 'Player opens, first video plays, player closes. Player opens, second video plays, player closes, etc.') $bTestSelectSingleVideo = True EndSelect WEnd EndFunc I would like to combine the checkbox "Loop" and the radio button $idRadio2. Radio2 requires Loop to be checked.
I planned to remove the Loop checkbox and only enable it if Radio2 is selected.
Can I combine these two functions into one with one window with both Checkboxes and Radio Buttons?
Good morning guys
I was trying to not open another post, writing here my little issue, but seems that no one cares about, and so, I'm opening another post
What I'm trying to do, is detect the event close sent from the virtual keyboard.
Because, I have an application which, when I set the focus on a textbox, if the virtual keyboard does not exist, then it is created, else, it's not created
But, everytime I try to close the virtual keyboard, the focus remains on the textbox, and another $EN_FOCUS event it's launched and detected from my WM_COMMAND, and so, the virtual keyboard is opened again.
How can I solve this little "issue"?
I was trying to detect the event sent from the virtual keyboard, storing the handle of it in a variable, and setting:
GUISetOnEvent($GUI_EVENT_CLOSE, "CloseVK", $hVirtualKeyboard) without any result.
Can someone please help me?
Here I'd like to see @Melba23, @water, @Danyfirex...
I have below screen when I launch the application.
By default the first radio button is checked.
I want to select the second radio button as highlighted.
And when it is selected, the textbox highlighted will be enabled and we need to enter the license details.
To do that, I tried to get the control id with windo info tool , but I am getting the second section(Concurrent Licenses) completely as "Button" class with ID 12.But not that radiobutton ID.
Even I tried with that as below.
$hwd =WinWaitActivate("erwin Data Modeler Licensing","Acquire concurrent u") ControlCommand($hwd,"","[CLASS:Button; INSTANCE:12]","Check") But not working.
Any suggestions please.