MFC控件(四)(列表视图控件CListControl)

 

CListControl列表视图控件

示例:设计用户登录模块

 

 

列表视图控件,风格为:Icon;

通过类向导添加变量:CListCtrl  m_UserList;

1、对话框类中添加成员变量:

CimageList m_ImageList;

2、对话框初始化部分创建图像列表控件:

m_ImageList.Create(32, 32, ILC_COLOR24|ILC_MASK, 1, 0);

3、紧接着,对话框初始化部分为图像列表控件添加内容:

    m_ImageList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON1)));

    m_ImageList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON2)));

    m_ImageList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON3)));

    m_ImageList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON4)));

    m_ImageList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON5)));

4、接着,为列表视图控件关联图像列表控件

    m_UserList.SetImageList(&m_ImageList, LVSIL_NORMAL);

将列表视图控件与图像列表控件相关联

5、向列表视图控件中添加内容:  

m_UserList.InsertItem(0, "小明", 0);

0:在列表视图控件索引位置

小明:文本内容

0:在图像列表中的索引位置

    m_UserList.InsertItem(1, "小雨", 1);

    m_UserList.InsertItem(2, "小强", 2);

    m_UserList.InsertItem(3, "小红", 3);

    m_UserList.InsertItem(4, "小张", 4);

6、接着,处理登录按钮单击事件:

void CLoginDlg::OnLogin()

{

    int nSel = m_UserList.GetSelectionMark();

//GetSelectionMark:取得列表视图中,当前选中项索引

    if (nSel != -1)

    {

       //获取用户名

       CString szUser = m_UserList.GetItemText(nSel, 0);

//GetItemText:取得选中项文本

       //验证用户名和密码,代码省略

    }

}

 

示例:

列表视图控件关联变量:CListCtrl  m_List;

对话框类中添加成员变量:CImageList  m_ImageList;

对话框初始化部分添加以下代码:

1、创建图像列表控件

m_ImageList.Create(32, 32, ILC_COLOR24|ILC_MASK, 1, 0);       

2、向图像列表控件中添加图标

    m_ImageList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON1)));

    m_ImageList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON2)));

    m_ImageList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON3)));

    m_ImageList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON4)));

    m_ImageList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON5)));

3、为列表视图控件关联图像列表控件

    m_List.SetImageList(&m_ImageList, LVSIL_NORMAL);    

4、向列表视图控件中添加数据

    m_List.InsertItem(0, "小明", 0);                           

    m_List.InsertItem(1, "小雨", 1);

    m_List.InsertItem(2, "小强", 2);

    m_List.InsertItem(3, "小红", 3);

    m_List.InsertItem(4, "小张", 4);

5、

    char szAppName[128] = {0};

    GetModuleFileName(NULL, szAppName, 128);      //获取应用程序完整名称

    char szDriver[128] = {0};

    char szDir[128] = {0};

    char szName[128] = {0};

    char szExt[128] = {0};

    _splitpath(szAppName, szDriver, szDir, szName, szExt); 

//分解目录

   

    char szBmpName[128] = {0};

    strcat(szBmpName, szDriver);

    strcat(szBmpName, szDir);

    strcat(szBmpName, "Bk.bmp");                        

//读取应用程序下的位图名称

 

    BOOL bRet = m_List.SetBkImage(szBmpName, TRUE, 1 , 1); 

//设置背景位图

    m_List.SetTextBkColor(CLR_NONE);                    

//设置文本背景颜色设置为无色

6、在InitInstance()中,添加:

AfxOleInit();(否则不能正确显示)

 

示例:

m_DataList.SetExtendedStyle(

LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);

设置扩展风格为:网格形式、整行选取

    m_DataList.InsertColumn(0, "姓名", LVCFMT_LEFT, 150);

    m_DataList.InsertColumn(1, "总成绩", LVCFMT_LEFT, 150);

插入列

    m_DataList.InsertItem(0, "小明", 0);

添加行数据,并设置第一列文本

    m_DataList.SetItemText(0, 1, "85");

设置一行2列文本

    m_DataList.InsertItem(1, "小雨", 1);

    m_DataList.SetItemText(1, 1, "100");

    m_DataList.InsertItem(2, "小强", 2);

    m_DataList.SetItemText(2, 1, "90");

    m_DataList.InsertItem(3, "小红", 3);

    m_DataList.SetItemText(3, 1, "92");

    m_DataList.InsertItem(4, "小张", 4);

    m_DataList.SetItemText(4, 1, "70");

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值