列表控件
[cpp]
[cpp]
///OnInitDialog()中添加代码
[cpp]
//为列表控件添加列
m_list.InsertColumn(0,_T("第1列") , LVCFMT_LEFT,100);
m_list.InsertColumn(1,_T("第2列") ,LVCFMT_LEFT ,100);
///创建图片列表
m_images.Create(32 ,32 ,ILC_COLOR32 ,1,1);
///在图片列表中添加一个图标
m_images.Add(m_hIcon);
///将图片列表关联到对话框上的列表控件
m_list.SetImageList(&m_images ,LVSIL_SMALL);
m_list.SetImageList(&m_images, LVSIL_NORMAL);
////CListCtrlDemoDlg头文件添加变量m_images
[cpp]
CImageList m_images
[cpp]
///“添加行”按钮的响应函数
void CListCtrlDemoDlg::OnBtnAdd()
{
// TODO: Add your control notification handler code here
int nCount = m_list.GetItemCount();
TCHAR szText[128] = {0};
_stprintf(szText , _T("第%d行第1列") , nCount + 1);
m_list.InsertItem(nCount ,szText , 0);
_stprintf(szText , _T("第%d行第2列") ,nCount + 1);
m_list.SetItemText(nCount , 1,szText);
}
void CListCtrlDemoDlg::OnBtnDelete()
{
// TODO: Add your control notification handler code here
///获取总行数
int nCount = m_list.GetItemCount();
//循环,从下往上删除所选的行
for(int i = nCount ; i >=0 ;i--)
{
if(m_list.GetItemState(i , LVIS_SELECTED) == LVIS_SELECTED)
m_list.DeleteItem(i);
}
}
///组合框改变的消息响应函数
[cpp]
void CListCtrlDemoDlg::OnSelchangeCmbView()
{
// TODO: Add your control notification handler code here
DWORD dwStyle;
///获得控件
CComboBox *pView;
pView = (CComboBox*)GetDlgItem(IDC_CMB_VIEW);
///根据控件当前所选,得到列表框新的显示风格
switch(pView->GetCurSel())
{
case 0 ://大图标
dwStyle = LVS_ICON;
break;
case 1://小图标
dwStyle = LVS_SMALLICON;
break;
case 2:
dwStyle = LVS_LIST;
break;
case 3:
dwStyle = LVS_REPORT;
break;
default:
return;
}
///应用新风格
m_list.ModifyStyle(LVS_TYPEMASK , dwStyle);
}
界面设计
列表控件ID为IDC_LIST,关联变量m_list
两个按钮控件ID为IDC_BTN_ADD和IDC_BTN_DELETE
组合框ID为IDC_CMB_VIEW,为其添加消息响应函数CBN_SELCHANGE
补充:软件开发 , C++ ,