修改对话框背景色后怎么修改控件背景色为透明

修改对话框背景色后如何修改控件背景色为透明?
我使用OnEraseBkgnd修改了对话框的背景色为白色,但对话框上面的静态文本、checkbox背景颜色不变。想改他们的背景颜色为透明(或和对话框背景一致),该如何修改?

C/C++ code

BOOL CSystemSetShowDlg::OnEraseBkgnd(CDC* pDC)
{
    CRect rc;  
    GetClientRect(&rc);  
    pDC->FillSolidRect(&rc, m_bkColor);    //修改了对话框的背景色为白色
    return TRUE;  
}



使用如下代码时,静态文本背景改了,但checkbox和ccombobox的下拉菜单的背景为黑色,且覆盖了文字,不知道为什么?

C/C++ code

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

    pDC-> SetBkMode(TRANSPARENT);   
    pDC-> SetTextColor(RGB(0,0,0));//此处设置字体的颜色 

    return     HBRUSH(GetStockObject(HOLLOW_BRUSH)); 
    //return hbr;
}



------解决方案--------------------
pWnd-> GetDlgCtrlID() == 具体的ID