资源描述:
《MFC中ListCtrl的用法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、MFC中的列表视图控件CListCtrl2010-04-2110:06一、在Windows应用程序中添加ListControl控件的几种方法1、在对话框中添加控件:创建对话框应用程序,在资源视图中添加对话框。如下图所示,在控件工具条中选择ListControl控件添加到对话框中,并调整控件尺寸。在ListControl控件的属性页中设置控件样式(Styles)和扩展样式等。为了显示详细数据信息,可以设置控件的显示风格为报表视图(Report)。为了在对话框中使用控件,需要在ClassWizard中为对话框类添加控件成员变量,如下图所示:执行以上操作后,系统自动添加了一个ClistContr
2、ol对象,并与ListControl控件资源关联,相关代码如下://ListDialogDlg.h:headerfile......public:CListCtrlm_cListCtrl;......//ListDialogDlg.cpp:implementationfile......voidCListDialogDlg::DoDataExchange(CDataExchange*pDX){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CListDialogDlg)DDX_Control(pDX,IDC_LIST_CTRL,m_cListCt
3、rl);//}}AFX_DATA_MAP}......因为本例只为演示在对话框中添加ListControl控件,所以只在对话框初始化消息函数中添加了以下显示控件的示例代码(代码含义请参照MSDN文献):BOOLCListDialogDlg::OnInitDialog(){CDialog::OnInitDialog();......//TODO:AddextrainitializationhereDWORDexstyle=m_cListCtrl.GetExtendedStyle();m_cListCtrl.SetExtendedStyle(exstyle
4、LVS_EX_FULLROWSELE
5、CT
6、LVS_EX_GRIDLINES
7、LVS_EX_CHECKBOXES
8、WS_EX_STATICEDGE);CRectrect;m_cListCtrl.GetClientRect(&rect);intnColInterval=rect.Width()/5;m_cListCtrl.InsertColumn(0,_T("ItemName"),LVCFMT_LEFT,nColInterval*3);m_cListCtrl.InsertColumn(1,_T("Value"),LVCFMT_LEFT,nColInterval);m_cListCtrl.InsertColumn(2,_T("Ti
9、me"),LVCFMT_LEFT,rect.Width()-4*nColInterval);m_cListCtrl.InsertItem(0,"name");m_cListCtrl.SetItemText(0,1,"value");m_cListCtrl.SetItemText(0,2,"time");......returnTRUE;//returnTRUEunlessyousetthefocustoacontrol}2、在单文档视图中自行添加ListControl控件:创建单文档应用程序,如下图所示为视图类添加CListCtrl对象成员变量:如下图所示,在资源视图中打开StringTa
10、ble资源,在右键菜单中选择newstring,为将要创建的ListControl控件添加资源编号:为创建和显示控件,在视图的初始化消息函数中添加如下代码:voidCAddListView::OnInitialUpdate(){CView::OnInitialUpdate();//TODO:Addyourspecializedcodehereand/orcallthebaseclassm_cListCtrl.Create(LVS_REPORT,CRect(0,0,800,600),this,IDC_LISTCTRL);m_cListCtrl.ModifyStyle(0,LVS_REPORT
11、
12、LVS_SHOWSELALWAYS
13、LVS_SORTASCENDING);//m_cListCtrl.SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE,0,LVS_EX_GRIDLINES
14、LVS_EX_FULLROWSELECT
15、LVS_EX_CHECKBOXES);m_cListCtrl.ShowWindow(SW_SHOW);CRectrect;m_cListCtrl.GetCli