m_grid.SetExtendedStyle(
LVS_EX_FLATSB //扁平风格滚动条
|LVS_EX_FULLROWSELECT //允许整行选中
|LVS_EX_HEADERDRAGDROP //允许标题拖曳
|LVS_EX_ONECLICKACTIVATE //高亮显示
|LVS_EX_GRIDLINES //画出网格线
);
m_grid.InsertColumn(0,"姓名",LVCFMT_LEFT,150,0); //插入列
m_grid.InsertColumn(1,"联系电话",LVCFMT_LEFT,150,1);
m_grid.InsertItem(0,"");//插入第一行
m_grid.SetItemText(0,0,"周X");
m_grid.SetItemText(0,1,"12345XXXXXX");
m_grid.InsertItem(1,"");//插入第二行
m_grid.SetItemText(1,0,"诸葛X");
m_grid.SetItemText(1,1,"67890XXXXXX");
具有背景的列表视图控件
有些用户可能认为只要从 CListCtrl派生一个子类,然后在WM_PAINT消息处理函数中绘制一幅图片就可以了。但是,这样会导致列
表视图中的数据被背景图片覆盖。其实, 实现具有背景的列表视图控件并不复杂,首先在程序初始化时调用
AfxOleInit()函数初始化Com;
然后调用CListCtrl的 SetBkImage方法设置背景位图;最后调用SetTextBkColor方法将文本背景透明。程序主要代码如下:
m_List.SetBkImage("c:\\background2.bmp");
m_List.SetTextBkColor(CLR_NONE);