Sign in to follow this  
Followers 0
lowray1975

Button Default Background Color

6 posts in this topic

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")

GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
GUISetState(@SW_SHOW)

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

    EndSwitch
WEnd


Func Button1_HighlightOn()

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

EndFunc

Func Button1_HighlightOff()

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

EndFunc


Func CLOSEClicked()

    Exit

EndFunc

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.


_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_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: 04/09/2015

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:

post-52139-0-67711700-1326139061_thumb.p

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  
Followers 0