首先创建基于对话框的应用程序ListCtrl,在对话框中删除所有控件添加List Control控件,相关一个变量m_listctrl,然后在ListCtrlDlg.cpp的BOOL CListCtrlDlg::OnInitDialog()中添加初始化代码,
m_listctrl.InsertColumn (0,"学号"); //添加列名
m_listctrl.InsertColumn (1,"姓名");
m_listctrl.InsertColumn (2,"专业");
m_listctrl.InsertColumn (3,"成绩");
m_listctrl.SetColumnWidth (0,80); //设置列宽
m_listctrl.SetColumnWidth (1,80);
m_listctrl.SetColumnWidth (2,150);
m_listctrl.SetColumnWidth (3,90);
m_listctrl.SetExtendedStyle (LVS_EX_FULLROWSELECT |LVS_EX_GRIDLINES );//设置扩展格式,整行选择,网格线
//添加项(5项),项完全一样
for(int i=0;i<5;i++)
{
int n=m_listctrl.InsertItem (0,"062020201");
m_listctrl.SetItemText (n,1,"susan");
m_listctrl.SetItemText (n,2,"computer science");
m_listctrl.SetItemText (n,3,"96");
}
m_listctrl.InsertColumn (0,"学号");
m_listctrl.InsertColumn (1,"姓名");
m_listctrl.InsertColumn (2,"专业");
m_listctrl.InsertColumn (3,"成绩");
m_listctrl.SetColumnWidth (0,80);
m_listctrl.SetColumnWidth (1,80);
m_listctrl.SetColumnWidth (2,150);
m_listctrl.SetColumnWidth (3,90);
m_listctrl.SetExtendedStyle (LVS_EX_FULLROWSELECT |LVS_EX_GRIDLINES );
for(int i=0;i<5;i++)
{
int n=m_listctrl.InsertItem (0,"062020201");
m_listctrl.SetItemText (n,1,"susan");
m_listctrl.SetItemText (n,2,"computer science");
m_listctrl.SetItemText (n,3,"96");
}
运行的结果如下:
那么如何改变字体背景颜色呢,需要用到SetBKColor,SetTextBKColor,SetTextColor等函数!
m_listctrl.SetBkColor (RGB(255,0,0));
m_listctrl.SetTextBkColor (RGB(0,250,12));
m_listctrl.SetTextColor (RGB(0,25,250));
运行后效果效果是这样的:
//reset flags 设置listctrl属性
DWORD dwStyle = m_lctMessage.GetExtendedStyle();
dwStyle |= LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES;
m_lctMessage.SetExtendedStyle(dwStyle);