由于工作需要,自绘了大部分MFC控件,现作个总结如下:
1)CTreeCtrl是在OnNMCustomdraw中自绘的,不要设定其他属性
2)CListCtrl是在DrawItem中自绘的,要设定属性LVS_OWNERDRAWFIXED|LVS_REPORT
3)CButton是在DrawItem中自绘的,要设定属性BS_OWNERDRAW
4)CMenu是在DrawItem中自绘的,要把每一项都设定属性MF_OWNERDRAW,用到递归方法
5)单选按钮是基于CButton在DrawItem中自绘的,要重写Create设定属性为
dwStyle &= ~(0xF);
dwStyle |= BS_AUTORADIOBUTTON;
dwStyle |= BS_OWNERDRAW
6)CListBox是在DrawItem中自绘的,必须加上属性LBS_OWNERDRAWFIXED |LBS_HASSTRINGS