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