We help IT Professionals succeed at work.

We've partnered with Certified Experts, Carl Webster and Richard Faulkner, to bring you a podcast all about Citrix Workspace, moving to the cloud, and analytics & intelligence. Episode 2 coming soon!Listen Now

x

get colour from gdi object

stev75
stev75 asked
on
Medium Priority
389 Views
Last Modified: 2013-11-20
i like to initialize a CColorDialog by a colour (COLORREF value) from a GDI Object (CBrush).
I didn't find any function to do this yet.
example:

CBrush br;
br.Create(..);
...
// now I'm looking for something like this:
br.GetRGBColour();

Thanks experts.
Comment
Watch Question

CERTIFIED EXPERT
Commented:
Hi stev75,

you can use 'GetObject' to retrieve info about GDI objects, i.e. for a CBrush:

> CBrush brush;
> brush.CreateSolidBrush( RGB( 255, 255, 0 ) );
>
> LOGBRUSH info;
> brush.GetObject( sizeof( info ), &info );
>
> TRACE( "Color of brush is %08x.\n", info.lbColor );

Hope that helps,

ZOPPO

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts
Commented:
You can get the colour of a brush in this way:
// create a brush
CBrush oBrush( RGB( 255, 255, 0 ));
 
// get the brush descriptor
LOGBRUSH lbr;
oBrush.GetLogBrush( &lbr);
 
// test the colour
ASSERT( lbr.lbColor == RGB( 255, 255, 0 ));

Open in new window

Author

Commented:
thanks, that's it! both comments lead to success so I will split points
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.