在Windows应用程序中添加ListControl控件的几种方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、在Windows应用程序中添加ListControl控件的几种方法
1、在对话框中添加控件:
创建对话框应用程序,在资源视图中添加对话框。如下图所示,在控件工具条中选择ListControl控件添加到对话框中,并调整控件尺寸。在ListControl控件的属性页中设置控件样式(Styles)和扩展样式等。为了显示详细数据信息,可以设置控件的显示风格为报表视图(Report)。
为了在对话框中使用控件,需要在ClassWizard中为对话框类添加控件成员变量,如下图所示:
执行以上操作后,系统自动添加了一个ClistControl对象,并与ListControl控件资源关联,相关代码如下:
// ListDialogDlg.h : header file
......
public:
CListCtrl m_cListCtrl;
......
// ListDialogDlg.cpp : implementation file
......
void CListDialogDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CListDialogDlg)
DDX_Control(pDX, IDC_LIST_CTRL, m_cListCtrl);
//}}AFX_DATA_MAP
}
......
因为本例只为演示在对话框中添加ListControl控件,所以只在对话框初始化消息函数中添加了以下显示控件的示例代码(代码含义请参照MSDN文献):
BOOL CListDialogDlg::OnInitDialog()
{
CDialog::OnInitDialog();
......
// TODO: Add extra initialization here
DWORD exstyle = m_cListCtrl.GetExtendedStyle();
m_cListCtrl.SetExtendedStyle(exstyle | LVS_EX_FULLROWSELECT |
LVS_EX_GRIDLINES |
LVS_EX_CHECKBOXES | WS_EX_STATICEDGE );
CRect rect;
m_cListCtrl.GetClientRect(&rect);
int nColInterval = rect.Width()/5;
m_cListCtrl.InsertColumn(0, _T("Item Name"), LVCFMT_LEFT, nColInterval*3);
m_cListCtrl.InsertColumn(1, _T("Value"), LVCFMT_LEFT, nColInterval);
m_cListCtrl.InsertColumn(2, _T("Time"), LVCFMT_LEFT, rect.Width()-
4*nColInterval);
m_cListCtrl.InsertItem(0,"name");
m_cListCtrl.SetItemText(0,1,"value");
m_cListCtrl.SetItemText(0,2,"time");
......
return TRUE; // return TRUE unless you set the focus to a control
}
2、在单文档视图中自行添加ListControl控件:
创建单文档应用程序,如下图所示为视图类添加CListCtrl对象成员变量:
如下图所示,在资源视图中打开String Table资源,在右键菜单中选择new string,为将要创建的ListControl控件添加资源编号:
为创建和显示控件,在视图的初始化消息函数中添加如下代码:
void CAddListView::OnInitialUpdate()
{
CView::OnInitialUpdate();
// TODO: Add your specialized code here and/or call the base class
m_cListCtrl.Create( LVS_REPORT,CRect(0,0,800,600),this,IDC_LISTCTRL);
m_cListCtrl.ModifyStyle(0,LVS_REPORT|LVS_SHOWSELALWAYS|LVS_SORTAS CENDING);
//m_cListCtrl.SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE,0,
LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT|LVS_EX_CHECKBOXES); m_cListCtrl.ShowWindow(SW_SHOW);
CRect rect;
m_cListCtrl.GetClientRect(&rect);
int nColInterval = rect.Width()/5;
m_cListCtrl.InsertColumn(0, _T("Item Name"), LVCFMT_LEFT, nColInterval*3);
m_cListCtrl.InsertColumn(1, _T("Value"), LVCFMT_LEFT, nColInterval);
m_cListCtrl.InsertColumn(2, _T("Time"), LVCFMT_LEFT, rect.Width()-
4*nColInterval);
m_cListCtrl.InsertItem(0,"name");
m_cListCtrl.SetItemText(0,1,"value");
m_cListCtrl.SetItemText(0,2,"time");
}
3、在ListView视图中显示ListControl控件:
创建单文档应用程序,如下图所示,在选择窗口视图类型时,选择CListView视图: