Changing button colors on click

Recommended Posts

Hello! I am making a GUI on autoit, I would like the button to change color when selected from default to red. I have searched the forums and haven't really found what I am looking for. Any suggestions would be appreciated. Here is my code thus far.

Share this post

Link to post

Share on other sites

I have another question, if I had 4 buttons and when I clicked on one the color would change, but if I clicked on another; the first button that I clicked on would revert back to default. How would I do something like that.

So unless you really need the coloured buttons - and are prepared to accept the consequences - I would strongly suggest leaving your buttons au naturel. I often use a coloured border by setting an over-sized label underneath the button which can be coloured at will without consequence - but do remember to disable it so that AutoIt does not get confused.

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

Share this post

Link to post

Share on other sites

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

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

Sign in

Similar Content

good morning all.
first lit me give you all a thinks to your help
you're help me allot thank you all.
sirs today i've a new problem
it's not a problem but thing i want to add it to blind accessability.
the ListBox can send a notification when the user send a double click on it items
but as we know that the blind users can't use the mouse for that they use the keybord to navigate.
as we know that the enter replace the double click on the keybord
for that i need when the user send a inter above any listBox item the list send a double click notification.
i know some of you tell me that i can use the GUISetAccelerators function
but the enter has a other tasks such as leav a blanc line on edits and activate the defaultButton and other tasks.
that what i need and i hope that you can help me
this is a simple example.
#include <GUIConstantsEx.au3>
#include <StructureConstants.au3>
#include <MsgBoxConstants.au3>
#include <WindowsConstants.au3>
#include <ListBoxConstants.au3>
Example()
Func Example()
Local $sMESSAGE = "The following buttons have been clicked"
GUICreate("My GUI list") ; will create a dialog box that when displayed is centered
Local $idButton_Add = GUICtrlCreateButton("Add", 64, 32, 75, 25)
Local $idButton_Clear = GUICtrlCreateButton("Clear", 64, 72, 75, 25)
global $idMylist = GUICtrlCreateList("buttons that have been clicked", 176, 32, 121, 97)
GUICtrlSetLimit(-1, 200) ; to limit horizontal scrolling
GUICtrlSetData(-1, $sMESSAGE)
global $DummyList = GUICtrlCreateDummy()
GUICtrlSendToDummy($DummyList, 1)
Local $idButton_Close = GUICtrlCreateButton("my closing button", 64, 160, 175, 25)
GUIRegisterMsg($WM_command, "WM_command")
GUISetState(@SW_SHOW)
; Loop until the user exits.
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
Case $idButton_Add
GUICtrlSetData($idMylist, "You clicked button No1|")
Case $idButton_Clear
GUICtrlSetData($idMylist, "")
Case $idButton_Close
MsgBox($MB_SYSTEMMODAL, "", "the closing button has been clicked", 2)
Exit
case $DummyList
$g_iTemp = GUICtrlRead($DummyList)
if $g_iTemp = $LBN_DBLCLK then
;$LBN_DBLCLK then
msgBox(64, "", "")
endIf
GUICtrlSendToDummy($DummyList, 0)
EndSwitch
WEnd
EndFunc ;==>Example
Func WM_command($hWnd, $iMsg, $wParam, $lParam)
#forceref $hWnd, $iMsg
Local $tNMHDR = DllStructCreate($tagNMHDR, $lParam)
$hWndFrom = $lParam
$iCode = BitShift($wParam, 16) ; Hi Word
Switch $hWndFrom
Case GUICtrlGetHandle($idMylist)
Switch $iCode
Case $LBN_SELCHANGE, $LBN_DBLCLK, $LBN_SELCANCEL, $LBN_SETFOCUS
GUICtrlSendToDummy($DummyList, $iCode)
case else
;GUICtrlSendToDummy($DummyTreeview, 1)
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc

Hey there!
I am having a problem with clicking a button in IE. As you can see in the code, there would be a class name to click it, but since this button exists several times with exactly the same code, I can only use the "Noch nicht veröffentlicht" to separate it from the others. But this part is just pure text without any classification.
"<div class="checkmark" data-v-1e5b1f70=""><svg xmlns="http://www.w3.org/2000/svg" class="icon" viewBox="0 0 16 16" data-v-1e5b1f70=""><circle cx="8" cy="8" r="8" data-v-1e5b1f70="" /></svg></div>Noch nicht veröffentlicht"
I was trying to click it with:
#include <IE.au3>
local $oNNVs = _IEFormGetCollection($oIE2)
For $oNNV in $oNNVs
If String($oNNV.innertext) = "Noch nicht veröffentlicht" Then
_IEAction($oNNV, "click")
EndIf
Next
and:
$inputs = $oIE2.document.getElementsByTagName("div")
For $input In $inputs
If $input.innertext == "Noch nicht veröffentlicht" then
$input.click()
EndIf
Next
But nothing seems to work. Thanks for the help!

Greetings!
I am in need of your guidance once again. I searched the forums for clicking in span, clicking by class, clicking without an ID or Name, etc., but I am unable to find a solution for my problem.
I am trying to expand this tree in IE. There is an arrow ( > ) that i need to click, but I can't find a way to do it . Alternatively, I can double-click the text "Servers", but that seems to be even more troublesome. I will have to do this 2-3 more times as the tree expands.
There appears to be an ID for the tree, simply called "tree", but that isn't working when I send a click to it.