transparent CStatic

hi,
I have a dialog with 2 CStatic Controls. The first one I was in order to paint a part of the dialog in a Green color (I do it by deriving a class from CStatic, catching the OnCtlColor event and returning a green brush).
Now I have another CStatic control which is used only for displaying text, and located on the first static (which painted the dialog in green).
my problem is that the second CStatic (used for displaying text) has a gray background which is very ugly.
how can I make the second CStatic transparent ?
p.s I tried to set the transparent style in the resources of the second static but it didnt help...

10x,
Yoav.
yoavoAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Vinayak KumbarSr Program ManagerCommented:
Hi,

For that Static control, U set the back ground color of the Dialog box color or whatever color U want, by using SetBkColor() function.

If U want it to be trasperent, then in Ur wm_ctrlcolor message handler add the following code

switch(nCtlColor)
{
case CTLCOLOR_STATIC:
  m_Brush = (CBrush *)pDC->SelectStockObject(NULL_BRUSH  );
  return *m_Brush;
  break;
default:
return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
break;
}
0
Vinayak KumbarSr Program ManagerCommented:
Hi,

For that Static control, U set the back ground color of the Dialog box color or whatever color U want, by using SetBkColor() function.

If U want it to be trasperent, then in Ur wm_ctrlcolor message handler add the following code

switch(nCtlColor)
{
case CTLCOLOR_STATIC:
  m_Brush = (CBrush *)pDC->SelectStockObject(NULL_BRUSH  );
  return *m_Brush;
  break;
default:
return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
break;
}

Try it out.
0
PIGCommented:
Make Your second CStatic frame only. And use that control for position to display text. Subclass first control and in OnPaint Message use coordinate from second to draw text. Use SetROP2 to set transparent mode for Your text drawing operation.
BTW for what is You sacond static?!?!?
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
System Programming

From novice to tech pro — start learning today.