True Colour Developer Studio Addin - Use any colour in the Developer Studio IDE | CodeGuru

True Colour Developer Studio Addin – Use any colour in the Developer Studio IDE

Environment: Visual C++ 6 Ever got frustrated with only being able to use 16 colours in the developer studio IDE? A solution to the problem was posted to codeguru recently (in the tips section) that addressed this by hacking the registry, but this required restarting the IDE to update the colours. DevTrueColour is an addin […]

Written By
CodeGuru Staff
CodeGuru Staff
Apr 19, 1999
3 minute read
CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More

Environment: Visual C++ 6

Ever got frustrated with only being able to use 16 colours in the developer studio IDE?
A solution to the problem was posted to codeguru recently (in the tips section) that addressed
this by hacking the registry, but this required restarting the IDE to update the colours.

DevTrueColour is an addin that customizes the Tools | Options | Format tab, hiding the
16 colour combo boxes and replacing them with two Office 97 style colour pickers (courtesy of Chris
Maunder). All editor windows are updated without restarting the IDE

Usage:

  1. Build the DevTrueColour.dsp project OR copy DevTrueColour.dll into
    program files\microsoft visual studio\common\msdev98\addins
  2. Open Tools | Customize | Add-ins and Macro Files and tick DevTrueColour.
  3. Tools | Options | Format. You should have 2 replacement combo boxes for the colours

Note that the files colourpicker.cpp/.h and colourpopup.cpp/.h are identical copies of the colour
picker control source by Chris Maunder which can also be found on codeguru.

Limitations:

Under certain circumstances, the colour pickers don’t update. This seems to be due to having different
colours for items that appear in more than one category. Eg. If Bookmark is set to red in Output Window
and green in Source Windows, then All Windows is selected, the colour pickers don’t update.
This appears to be a feature of Developer Studio, as it happens without the addin enabled!

I have only been able to test the addin in VC6.0. It should work in 5.0, but if it doesn’t you are welcome
to fix it and I will incorporate any changes into the original.

How it works:

The colour combo boxes on the Format page are owner draw controls, with the item data containing a
COLORREF, or 0x8000000 if Automatic is selected. It we can change the item data value we can use the
combo box as a means of injecting any colour we want into developer studio.

On loading, the addin registers a thread wide window proc hook, which it uses to wait for
WM_INITDIALOG on the Format tab of the options. Unfortunately the title of the Format child dialog
isn’t set at this point, so we have to use the existence of a couple of child controls to verify
the identity of the page.

The original combo boxes are hidden, and the colour picker combo’s are created. I had
to put these in modeless child dialogs to get message reflection to work, which is a bit messy, but
this had the side effect of allowing easier access to the colour picker notification messages.

Whenever the colour picker closes, the corresponding hidden combo box has item 0’s data set to the new
colour and a couple a fake key presses sent to it (VK_END followed by VK_HOME) to update the sample text.

The hook procedure also catches CB_FINDSTRINGEXACT, which is used to update the colour pickers, and
WM_DESTROY, which is used for cleaning up when the property sheet is closed.

Download source – 30K

Download AddIn DLL – 17K

Date Last Updated: April 19, 1999

CodeGuru Logo

CodeGuru covers topics related to Microsoft-related software development, mobile development, database management, and web application programming. In addition to tutorials and how-tos that teach programmers how to code in Microsoft-related languages and frameworks like C# and .Net, we also publish articles on software development tools, the latest in developer news, and advice for project managers. Cloud services such as Microsoft Azure and database options including SQL Server and MSSQL are also frequently covered.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.