VC的List Control和Delphi的ListView对比
参照delphi源码,二者本质上应该都是对windows标准控件SysListView32做封装,
IDE方面就不说太多,VC确实没有Delphi方便,不过也不难用,无非是多了几行调用。
1.添加Column:
void CCFSBrowserDlg::InitListView()
{
LVCOLUMN* pColumn;
pColumn = new tagLVCOLUMNA;
pColumn->pszText=(char*)"修改日期";
ListView1.InsertColumn(0, pColumn);
pColumn = new tagLVCOLUMNA;
pColumn->pszText=(char*)"大小";
ListView1.InsertColumn(0, pColumn);
pColumn = new tagLVCOLUMNA;
pColumn->pszText=(char*)"类型";
ListView1.InsertColumn(0, pColumn);
pColumn = new tagLVCOLUMNA;
pColumn->pszText=(char*)"名称";
ListView1.InsertColumn(0, pColumn);
ListView1.SetColumnWidth(0, 100);
ListView1.SetColumnWidth(1, 100);
ListView1.SetColumnWidth(2, 100);
ListView1.SetColumnWidth(3, 100);
}
以上代码通过一个公用的pColumn指针变量,再重复用new申请对应数据类型tagLVCOLUMNA的内存,从本质上就是申请一块与tagLVCOLUMNA相同大小的内存,再把内存地址赋值给pColumn,再初始化pszText字段,调用InsertColumn即可。初学VC,部分代码只是按照自己理解的调用方法写出来的,感觉别扭,不过相信以后熟悉了会得心应手的。
待续。。。
最简单通用的方法:
ListView1.InsertColumn(0,"名称",LVCFMT_LEFT,100,0);
ListView1.InsertColumn(1,"大小",LVCFMT_LEFT,100,1);
...
...
.