MFC的CListCtrl的用法

这篇博客介绍了如何在MFC应用中使用CListCtrl控件进行初始化、插入数据以及处理用户点击事件。首先,文章展示了如何初始化CListCtrl,包括插入列和设置表格风格。接着,讲解了如何在点击按钮后添加数据,确保工号的唯一性。最后,讨论了两种方法来获取并处理用户在列表中选中的行。
摘要由CSDN通过智能技术生成

初始化阶段:

   // TODO:  在此添加额外的初始化代码

  //插入行列数据
    CRect rs;
    GetClientRect(rs);
    m_list.InsertColumn(0, _T("工号"), 0, rs.Width() / 3);
    m_list.InsertColumn(1, _T("姓名"), 0, rs.Width() / 3);
    m_list.InsertColumn(2, _T("入职时间"), 0, rs.Width() / 3);
    m_list.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);//设置表格风格

点击按钮,添加数据:

void CDDlg::OnBnClickedAdd()
{
    // TODO:  在此添加控件通知处理程序代码
    CString str;
    int j = 0, nIndex = m_list.GetItemCount();
    GetDlgItemText(IDC_NUM, str);


    if (str == "\0")
    {
        AfxMessageBox(_T("请输入正确的工号"));
        return;
    }


    while (j < nIndex)
    {
        if (str == m_list.GetItemText(j, 0))
        {
            AfxMessage

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MFC CListCtrl控件的重绘可以通过以下几种方法来实现。 首先,可以通过重写CListCtrl的OnPaint函数来进行重绘。在OnPaint函数中,可以使用CDC类提供的绘图函数,如DrawText、DrawImage等,来绘制列表控件中的内容。同时,可以使用CListCtrl的GetItemRect函数来获取每个项的位置和大小,以便准确地绘制每个项。 其次,可以使用CListCtrl的Invalidate函数来标记控件为无效状态,然后在主窗口的OnPaint函数中进行重绘。使用Invalidate函数可以通知Windows系统,在下一次重绘窗口时调用CListCtrl的OnPaint函数,从而实现重绘。这种方法适用于需要在每个窗口的重绘中都进行重绘的情况。 另外,可以使用CListCtrl的SetRedraw函数来关闭重绘功能,然后手动进行重绘。通过调用SetRedraw(TRUE)函数来重新启用重绘功能。这种方法适用于批量修改列表控件中的项的情况,可以加快重绘的速度。 最后,可以通过CListCtrl的SetItemData和GetItemData函数来定制列表项的显示。通过重写CListCtrl的DrawItem函数,可以对每个项进行自定义绘制。通过SetItemData函数设置项的数据,然后在DrawItem函数中使用GetItemData函数获取数据,根据数据来绘制每个项的外观。 总结来说,MFC CListCtrl控件的重绘可以通过重写OnPaint函数、使用Invalidate函数、设置SetRedraw函数或者自定义DrawItem函数来实现。具体的方法选择需要根据实际需求和应用场景来决定。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值