动态改变Slider背景色
有多个Slider控件,我想显示当前被选中的Slider背景色为黄色,下面是我的代码,出现的问题是不能正常地显示,请各位大侠指点一下
BOOL CtestDlg::OnInitDialog()
m_brush.CreateSolidBrush(RGB(255,255,0));
HBRUSH CtestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
int nID = pWnd->GetDlgCtrlID();
if(nID == selectFlag)
return m_brush;
return hbr;
}
void CtestDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
CSliderCtrl *pSlidCtrl;
int value;
int ctrlID = pScrollBar->GetDlgCtrlID();
pSlidCtrl = (CSliderCtrl *)GetDlgItem(ctrlID);
value = pSlidCtrl->GetPos();
SetDlgItemInt((IDC_EDIT1 + (ctrlID - IDC_SLIDER1)), value);
selectFlag = ctrlID;
//pSlidCtrl->Invalidate();
CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}