ControlCommand

From AutoIt Wiki
Jump to navigation Jump to search

Sends a command to a control.


ControlCommand ( "title", "text", controlID, "command" [, "option"] )



Parameters

title The title/hWnd/class of the window to access. See Title special definition.
text The text of the window to access.
controlID The control to interact with. See Controls.
command The command to send to the control.
option [optional] Additional parameter required by some commands.


Return Value

Depends on command as table below shows. In case of an error (such as an invalid command or window/control), @error=1.

Command, Option Return Value
"IsVisible", "" Returns 1 if Control is visible, 0 otherwise
"IsEnabled", "" Returns 1 if Control is enabled, 0 otherwise
"ShowDropDown", "" Displays the ComboBox dropdown
"HideDropDown", "" Hides the ComboBox dropdown
"AddString", 'string' Adds a string to the end in a ListBox or ComboBox
"DelString", occurrence Deletes a string according to occurrence in a ListBox or ComboBox
"FindString", 'string' Returns occurrence ref of the exact string in a ListBox or ComboBox
"SetCurrentSelection", occurrence Sets selection to occurrence ref in a ListBox or ComboBox
"SelectString", 'string' Sets selection according to string in a ListBox or ComboBox
"IsChecked", "" Returns 1 if Button is checked, 0 otherwise
"Check", "" Checks radio or check Button
"UnCheck", "" Unchecks radio or check Button
"GetCurrentLine", "" Returns the line # where the caret is in an Edit
"GetCurrentCol", "" Returns the column # where the caret is in an Edit
"GetCurrentSelection", "" Returns name of the currently selected item in a ListBox or ComboBox
"GetLineCount", "" Returns # of lines in an Edit
"GetLine", line# Returns text at line # passed of an Edit
"GetSelected", "" Returns selected text of an Edit
"EditPaste", 'string' Pastes the 'string' at the Edit's caret position
"CurrentTab", "" Returns the current Tab shown of a SysTabControl32
"TabRight", "" Moves to the next tab to the right of a SysTabControl32
"TabLeft", "" Moves to the next tab to the left of a SysTabControl32
"SendCommandID", Command ID Simulates the WM_COMMAND message. Usually used for ToolbarWindow32 controls - use the ToolBar tab of Au3Info to get the Command ID.


Remarks

Some controls will resist automation unless they are the active window. Use the WinActivate function to force the control's window to the top before using ControlCommand on these controls.

Certain commands that work on normal Combo and ListBoxes do not work on "ComboLBox" controls.


Related

ControlClick, ControlDisable, ControlEnable, ControlFocus, ControlGetPos, ControlGetText, ControlHide, ControlMove, ControlSetText, ControlShow, StatusbarGetText, WinActivate, WinMenuSelectItem, WinGetClassList, ControlGetFocus, ControlListView, ControlSend, ControlTreeView


Example

#include <MsgBoxConstants.au3>

Example()

Func Example()
	; Run Notepad
	Run("notepad.exe")

	; Wait 10 seconds for the Notepad window to appear.
	Local $hWnd = WinWait("[CLASS:Notepad]", "", 10)

	; Send a command to the edit control of Notepad to find the number of lines. The handle returned by WinWait is used for the "title" parameter of ControlCommand.
	Local $iCount = ControlCommand($hWnd, "", "Edit1", "GetLineCount", "")

	; Display the number of lines.
	MsgBox($MB_SYSTEMMODAL, "", "The number of lines in Notepad are: " & $iCount)

	; Close the Notepad window using the handle returned by WinWait.
	WinClose($hWnd)
EndFunc   ;==>Example