新手使用CListCtrl
来源:互联网 发布:已知距离矩阵怎么聚类 编辑:程序博客网 时间:2024/06/06 19:57
说来惭愧,由于实践经验少,我以前还没有用过列表框,这次用这个,也是要用这个写点东西,然而却不知道怎么用,连个最简单的列表框都弄不出来。经过一个小时左右摸索,算是能写点东西了。
对于新手而言,第一次使用这个都会有点不知所措吧,事实上要说不知道,其实只是不知道如何写开头罢了,也就是创建列表。
先看代码:
在对话框模式中的初始化处添加如下代码:
CMyListCtrl*m_pListCtrl=new CMyListCtrl();
m_pListCtrl->Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT,
CRect(10,10,300,200),this, 1);
m_pListCtrl->SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);
m_pListCtrl->InsertColumn(0,"第一列");
m_pListCtrl->InsertColumn(1,"第二列");
m_pListCtrl->InsertColumn(2,"第三列");
CRectrect;
m_pListCtrl->GetWindowRect(&rect);
for(inti=0;i<3;++i)
{
m_pListCtrl->SetColumnWidth(i,rect.Width()/3);
}
即可生成一个简单的列表模型(图片传不上来,郁闷)
代码说明:
1:这里使用动态创建,要记得在程序结束时销毁。
2:最好是定义一个类成员变量m_ListCtrl或m_pListCtrl,这样便于管理,我在这个例子中定义临时变量自然是不行的(呵呵,已经内存泄露了)。
3:也许有人问为什么不使用ClassWizard自动关联一个列表控件对象,我开始是这样的,毕竟这样很方便,但后来发现这种创建让人摸不着北,往往不能尽如人意,于是我决定派生一个新的列表类CMyListCtrl,这样所有的列表操作都在掌控之中了,呼…可以喘口气了。
4:自建的列表类需要自己使用Create()函数来建立列表,WS_CHILD|WS_VISIBLE|WS_BORDER|这三个家伙应该是大部分控件都有的属性,大家应该很熟悉,LVS_REPORT见MSDN说明,你可以自己去掉这项,看看结果(嘿嘿)。其他参数好说。
5:这样创建好了以后可以说就完事了,但是你会发现列表框没有网格,这些设置是通过SetExtendedStyle()函数来完成的,你也可以去掉看看。
6:然后是插入,这个就不说了,插入完了以后,运行发现列表框里一团糟。
7:于是还有很重要的一点是设定列表列宽度,这样才能完好的将数据显示出来。
8:注意列表中的插入:InsertItem()->SetItemText()。
好了,就到这,一般的应用基本OK!
哦,对了,习惯了界面的同学可能一时不知道怎么添加消息,打开ClassWizard,里面有个CmyListCtrl类,点击,就有消息表了。
- 新手使用CListCtrl
- CListCtrl使用
- CListCtrl使用
- CListCtrl 使用
- CListCtrl使用
- CListCtrl使用
- CListCtrl使用 .
- CListCtrl使用
- CListCtrl使用
- CListCtrl使用
- CListCtrl用法 CListCtrl使用详解
- CListCtrl 使用技巧 CListCtrl 用法
- CListCtrl 使用技巧 CListCtrl 用法 .
- CListCtrl用法 CListCtrl使用详解 (代码)
- CListCtrl使用详解
- CListCtrl使用详解
- CListCtrl使用详解
- CListCtrl使用技巧
- 解决Warning: Cannot modify header information - headers already sent by的方法
- EcmaScript正則表達式( 深入淺出系列之淺出 )
- Delphi ActiveX Form的使用---传递Clientdataset的数据
- 通过ADSI管理 IIS
- MOSS应用记录--6
- 新手使用CListCtrl
- Java同步机制浅谈――synchronized对代码作何影响?
- 进程控制2--exec族
- makefile实例子
- PowerShell: 开始
- 使用xampp安装组合服务的问题
- SQL和ACCESS中的四舍五入功能
- 请教如何打开 .stl 格式的文件
- 回复网友 man1231,关于业务目标界定的问题