Jump to content
Dannyv573

Changing background colors in Tabs

Recommended Posts

Dannyv573

Why doesn't GUICtrlSetBkColor() work for tabs? Tabs are created with GUICtrlCreate...().

Share this post


Link to post
Share on other sites
Melba23

Dannyv573,

Welcome to the AutoIt forums.

But please do not resurrect 11 year old posts to ask barely-related questions - just start a new thread like I have now done for you.

And the answer is because tabs are funny beasts and so do not accept colour commands in the same way as other controls.

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
benched42

It's a little more involved than GUICtrlSetBkColor, which sets the background color of the entire form. I typically adapt Melba's code from this entry:

 


Who lied and told you life would EVER be fair?

Share this post


Link to post
Share on other sites
Dannyv573

Well thats a lot of code to change so it will work for me. If a tab is a control and has a color by default then it should be easier to change it without creating new items to overlap and color. It gets the color from somewhere so why cant that be changed? Tabs are controls so there must be a more specific reason GUICtrlSetBkColor() doesnt work. Sorry if it seems like I am repeatedly asking the same thing. There must be a way to change the color it uses.

Share this post


Link to post
Share on other sites
Melba23

Dannyv573,

And if there was a simple answer do you not think that someone would have suggested it by now? The fact that no-one has yet produced anything other than quite complex solutions quite possibly suggests that there just is not such a thing.

The same is true for many other, seemingly simple, interactions on other controls. ListViews are a case in point - look at the amount of code in my GUIListViewEx UDF (the link is in my sig) required to do what could be considered quite minor user requests. MS do not always make it easy to interact with what they produce.

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
BrewManNH

Unfortunately, it's not an AutoIt limitation, it's a Windows limitation. It happens in every language. The only way to go about it is to make your own tab control and not rely on the Windows version of them.

An example where it's being discussed with C#

https://stackoverflow.com/questions/5569284/how-do-i-change-background-colour-of-tab-control-in-winforms

 


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites
Skysnake

I had a similar issue and chose to ignore it and stay with the default color. :)

However, an idea that presented itself was to create background label in the desired color, then create all other controls after that label.  The effect is that that specific tab gets the label background color, and the controls appear on top of that background.

Best I could come up with. :)

Skysnake


Skysnake

Why is the snake in the sky?

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

×