MFC提供的CListBox类只支持黑色文本,如果想在列表框中显示彩色文本,如何实现?从CListBox类派生而得的CColorListBox类具有此功能。通过调用该类的AddString()和InsertString()函数可以向列表框中添加彩色文本选项。
过程:
1)使用别人已经写好的类,CColorListBox 完成。其实过程很简单,需要注意一些细节:
首先,在新建的项目中加入这两个类;
然后, 在vs对话框中添加CListBox m_list变量,然后将CListBox改为CColorListBox,这样就可以在点击BUTTON响应事件中,添加代码
m_list.AddString(_T("nihao"),RGB(255,0,0));
只是这样,结果并不会想想象的出现文本颜色的变化。
需要做的是:修改m_list的属性:
*)Owner Draw 为Variable
*)Selction 为Single
*)use TabStops 为False
*)Has Strings 为True 这个是我在运行是,一直没有找到的出问题的地方
开始的时候设置的为False 但是怎么都不行,就单步调试,跟进去看代码,存入的是这个值,怎么都不行,再看它的重绘,取出的值就是不对,就像可能是list的属性设置不正确,由于属性不正确,它不去取你设置的值,所以就看vc6.0的代码,选中了又字符串&#