Unfortunately, child windows on a form cannot be made semitransparent. With Win2K and above entire windows can be, but not individual child controls.
One workaround and it is not a great workaround is to use a secondary form. On that borderless form is a picturebox control. You can make the entire form, including the picturebox semitransparent, and then position that form over the main form, and finally show it as owned (i.e., otherForm.Show , Me). This will give you exactly what you are asking for visually, but has major disadvantages. Keeping the two forms in sync when one is moved is difficult without subclassing and can be choppy. Clicking on the semitransparent form/picturebox makes the main form display as not having focus, and other issues may apply too.
Note: If the picturebox is not to be clicked, you can apply the WS_EX_TRANSPARENT style to the semitransparent form and it wil not be clickable and all clicks will be sent to the window underneath it.
Edited: Maybe this isn't needed just to show something as "grayish/bluish". Can you describe in more detail what is to be displayed and what controls you are using? There may be other, simpler, options.
Last edited by LaVolpe; Apr 17th, 2009 at 09:44 AM.
Insomnia is just a byproduct of, "It can't be done"