转载:https://blog.csdn.net/ctbinzi/article/details/4503106
工作中没有小事:点石成金,滴水成河,只有认真对待自己所做的一切事情,才能克服万难,取得成功。
使用Slider控件,发现点击拖动滑条后控件周边多了虚线边框,设置了很多属性都没有用,发现就是由于鼠标点击后获得了焦点导致的,这样一个小问题想了好久,我们在Slider的自绘函数里把焦点状态去掉。
通过uItemState可以知道目前列表项的状态,其值如下:
CDIS_SELECTED 选中状态
CDIS_GRAYED 灰化状态
CDIS_DISABLED 禁止状态
CDIS_CHECKED 标记状态
CDIS_FOCUS 焦点状态
CDIS_DEFAULT 默认状态
CDIS_HOT 热点状态
CDIS_MARKED 标注状态
CDIS_INDETERMINATE 不定状态
void CXXXDlg::OnCustomdrawSlider1(NMHDR *pNMHDR, LRESULT *pResult) { LPNMCUSTOMDRAW pNMCD = reinterpret_cast<LPNMCUSTOMDRAW>(pNMHDR); // TODO: 在此添加控件通知处理程序代码 if (pNMCD) { pNMCD->uItemState &= ~(CDIS_FOCUS); } *pResult = 0; }
这样就是控件获得焦点,它也不会自绘出虚线了。