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消息
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
你是不是裁剪了子窗口(CLIPCHILDREN)属性设为TRUE了 没的话上面的答案肯定是可以的
------解决方案--------------------
checkbox的onerasebkgnd里得到父窗口dc把自己所处位置的那块矩形背景拷下来画上。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
visual 08和vs2005、vc6的对话框背景的代码不同,我也遇到这个问题,在vs2005上就好好的,在vs08上得把translate属性设置一下
------解决方案--------------------
我想把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消息
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
你是不是裁剪了子窗口(CLIPCHILDREN)属性设为TRUE了 没的话上面的答案肯定是可以的
------解决方案--------------------
checkbox的onerasebkgnd里得到父窗口dc把自己所处位置的那块矩形背景拷下来画上。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
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; }
------解决方案--------------------