Jump to content
Sign in to follow this  

Button Default Background Color

Recommended Posts

Hello! Does anyone know how to reset the background color of a button control to the default

"Windows" shaded color?

Thank you!

Apologies for how sloppy this example is:

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

AutoItSetOption("GUIOnEventMode", 1)

$Form1 = GUICreate("Form1", 623, 442, 192, 124)

$Label1 = GUICtrlCreateLabel("", 94, 70, 93, 61)
GUICtrlSetState(-1, $GUI_DISABLE)

$Button1 = GUICtrlCreateButton("Test", 96, 72, 89, 57)
GUICtrlSetOnEvent(-1, "Button1_HighlightOn")

$Button2 = GUICtrlCreateButton("Reset", 50, 200, 89, 57)
GUICtrlSetOnEvent(-1, "Button1_HighlightOff")


While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE


Func Button1_HighlightOn()

    GUICtrlSetBkColor($Label1, 0xff0000)
    GUICtrlSetBkColor($Button1, 0x0000bb)


Func Button1_HighlightOff()

    GUICtrlSetBkColor($Button1, 0XFEFEFE) ;This is the code I cannot figure out


Func CLOSEClicked()



Share this post

Link to post
Share on other sites

Use the follow function and variable [_WinAPI_GetSysColor($COLOR_MENU)] to get the default greyish colour.

UDF List:

_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Share this post

Link to post
Share on other sites

Sorry for off-topic, i just found a good place to ask my question.

In the above code, when we click on "Test", its color changes to Blue with a Red outline border, but there is a White border between the Blue and Red color, i saw that in VS this White color is Transparent in fact, but here, in AutoIt it's white by default, i know how to change its color ( If i change GUISetBkColor this color will change as well ) but i'm in a situation with Multi-Color GuiBackground ( My Cancel button in this GUI : ).

I think i need a way to make this border transparent.

Sorry again for off-topic, i hope i find some simple solution,

Share this post

Link to post
Share on other sites

Guinness: Thank you for your quick reply! While that goes get the one specific color, it appears that the default button in both XP and 7 has a gradient. This is what I'm trying to revert to. I apologize for not being more clear in my original post... It's been a long morning :)

Here's a zoomed in view of the default button's background for reference:


Share this post

Link to post
Share on other sites

Yashied: thank you very much! I spent a bit of time looking for some sort of default variable, although in the background color area and not the style. Thanks again!

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  

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Create New...