Re: transparent CheckBox/radioBox
This is the way I implemented a transparent checkbox/radiobutton
As with David's, mine only has the text part transparent. If you want the
actual box transparent, you will have to create your own control from
scratch.
// CTransparentCheckBox
class CTransparentCheckBox : public CButton
{
DECLARE_DYNAMIC(CTransparentCheckBox)
public:
CTransparentCheckBox();
virtual ~CTransparentCheckBox();
protected:
DECLARE_MESSAGE_MAP()
public:
afx_msg HBRUSH CtlColor(CDC* /*pDC*/, UINT /*nCtlColor*/);
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
};
//////////////////////////////////////////////////////////////////////////////////////////////////
IMPLEMENT_DYNAMIC(CTransparentCheckBox, CButton)
CTransparentCheckBox::CTransparentCheckBox()
{
}
CTransparentCheckBox::~CTransparentCheckBox()
{
}
BEGIN_MESSAGE_MAP(CTransparentCheckBox, CButton)
ON_WM_CTLCOLOR_REFLECT()
ON_WM_ERASEBKGND()
END_MESSAGE_MAP()
// CTransparentCheckBox message handlers
HBRUSH CTransparentCheckBox::CtlColor(CDC* pDC, UINT /*nCtlColor*/)
{
pDC->SetBkMode(TRANSPARENT);
return (HBRUSH)GetStockObject(HOLLOW_BRUSH);
}
BOOL CTransparentCheckBox::OnEraseBkgnd(CDC* pDC)
{
return TRUE;
}
AliR.
"D@na" <Dna@discussions.microsoft.com> wrote in message
news:BBF5389F-C6CD-4152-8AA0-477EE265ADE1@microsoft.com...
hello All..
there is something weird in my project when dealing with transparent
checkbox or radio box.. I wanna have a transparent-background CheckBox and
RadioBox
I ve tried using owner draw and implement WM_CTLCLR. The checkbox/radiobox
background will turn to black if i set my project Unicode-support. But,
everything work well if i work in a non-unicode project. Since i need to
support
Unicode, its so troublesome.
I dont get what's happening, so need your expertist ..FYI, Im using visual
studio 2005
thanks in advance