Checkbox 背景透明,该怎么处理

Checkbox 背景透明
我想把Checkbox的背景弄成透明的,因为我的对话框是设置了背景图片了。其他控件都好弄,可是就是不知道怎么弄checkbox的背景。我想弄成的效果是:checkbox上的字感觉是写在对话框上的。而不是现在这种:字后面一块白色···
请问该怎么做呢?

------解决方案--------------------
对话框添加消息OnCtlColor
添加代码:
switch(pWnd->GetDlgCtrlID()) 

case IDC_RADIO1:
case IDC_RADIO2:
pDC->SetBkMode(TRANSPARENT); 
return (HBRUSH)GetStockObject(NULL_BRUSH); 
break; 

default: 
break; 
}
------解决方案--------------------
WM_CTLCOLOR消息
------解决方案--------------------
探讨
WM_CTLCOLOR消息

------解决方案--------------------
探讨
引用:

WM_CTLCOLOR消息

不管用啊

------解决方案--------------------
你是不是裁剪了子窗口(CLIPCHILDREN)属性设为TRUE了 没的话上面的答案肯定是可以的
------解决方案--------------------
checkbox的onerasebkgnd里得到父窗口dc把自己所处位置的那块矩形背景拷下来画上。
------解决方案--------------------
探讨
引用:
引用:
引用:

WM_CTLCOLOR消息

不管用啊

WM_CTLCOLOR映射了没?


C/C++ code

BEGIN_MESSAGE_MAP(CDlgTTTDlg, CDialog)
//{{AFX_MSG_MAP(CDlgTTTDlg)
..……

------解决方案--------------------
探讨
引用:
C/C++ code

BEGIN_MESSAGE_MAP(CDlgTTTDlg, CDialog)
//{{AFX_MS……


照着你写的

C/C++ code


HBRUSH CSHA256Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUS……

------解决方案--------------------
visual 08和vs2005、vc6的对话框背景的代码不同,我也遇到这个问题,在vs2005上就好好的,在vs08上得把translate属性设置一下
------解决方案--------------------
C/C++ code

HBRUSH CSHA256Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

    // TODO:  在此更改 DC 的任何属性
    switch(nCtlColor)
    {
    case CTLCOLOR_STATIC:
        pDC->SetBkMode(TRANSPARENT);
        return  (HBRUSH)GetStockObject(HOLLOW_BRUSH);
        break;
   
    }
    return hbr;
}

------解决方案--------------------
探讨
引用:


还是不行··新建个工程都不行。
我是visual 08 win7···

还有··ls,那样子确实丑得没那么多了··