关键点

 
在列表框生成后需要向其中加入或是删除行,可以利用:
int AddString( LPCTSTR lpszItem )添加行,
int DeleteString( UINT nIndex )删除指定行,
int InsertString( int nIndex, LPCTSTR lpszItem )将行插入到指定位置。
void ResetContent( )可以删除列表框中所有行。
通过调用int GetCount( )得到当前列表框中行的数量。
 
 
 

实现过程

属性设置
Sort:False
Selection:Multiple
 
//初始化部分代码
    //GetDlgItem(IDC_EDIT1)->SetFocus();//如果无效果,将edit的 ID Index(Ctrl+D)设置为1
//向列表框中插入文本,手动将默认的排序功能去掉sort
    m_ctrl_listbox1.AddString("A");
    m_ctrl_listbox1.AddString("BB");
    m_ctrl_listbox1.AddString("CCC");
    m_ctrl_listbox1.AddString("DDDD");
 
 
void CProject03Dlg::OnButton1()
{
    // TODO: Add your control notification handler code here
 
    //添加字符串到列表框1
    CString str;
    m_ctrl_edt1.GetWindowText(str);
    //添加的字符串不能为空
    UpdateData(FALSE);
 
    //如果nStartAfter为-1,从头查找整个列表框
//这里C++把a和A当成一样的字符了,如何让它区别大小写呢
    int nIndex =m_ctrl_listbox1.FindStringExact(-1,str);
    if ( nIndex != -1 )
    {
        MessageBox("项目已存在!");
        return;//Do Nothing
    }
 
    if ( !str.IsEmpty() )
    {
        //去掉最左端和最右端的空格
        str.TrimLeft();
        str.TrimRight();
        m_ctrl_listbox1.AddString(str);
        m_ctrl_edt1.SetWindowText("");
        m_ctrl_edt1.SetFocus();
    }
    else
    {
        MessageBox("字符不能为空!");
    }
}
 
 
 
void CProject03Dlg::OnButton2()
{
    //添加选中的项
 
    CString str;
    for (int i=0; i<m_ctrl_listbox1.GetCount(); i++)
    {
        if (m_ctrl_listbox1.GetSel(i))
        {
            m_ctrl_listbox1.GetText(i, str);           
            m_ctrl_listbox2.AddString(str);           
        // m_ctrl_listbox1.DeleteString(i);//添加并删除,最后一个没删除掉
        }
    }   
}    
 
void CProject03Dlg::OnButton3()
{
    //删除选中的项目
    for (int i=m_ctrl_listbox1.GetCount()-1; i>-1; i--)
    {
        if (m_ctrl_listbox1.GetSel(i))
        {
            m_ctrl_listbox1.DeleteString(i);
        }
    }   
}
 
void CProject03Dlg::OnButton5()
{
 
    //全部添加并清空已有的部分
    CString str;
    for (int i=0; i<m_ctrl_listbox1.GetCount(); i++)
    {
            m_ctrl_listbox1.GetText(i, str);           
            m_ctrl_listbox2.AddString(str);       
    }   
    m_ctrl_listbox1.ResetContent();   
}
 

备注

相关链接

 

附件列表

ListBox基础的更多相关文章

  1. 关于WPF你应该知道的2000件事

    原文 关于WPF你应该知道的2000件事 以下列出了迄今为止为WPF博客所知的2,000件事所创建的所有帖子. 帖子总数= 1,201 动画 #7 - 基于属性的动画 #686 - 使用动画制作图像脉 ...

  2. SilverLight:基础控件使用(2)-ComboBox,ListBox控件

    ylbtech-SilverLight-Basic-Control:基础控件使用(2)-ComboBox,ListBox控件 直接在 XAML 代码中设置 Items 和通过后台代码绑定数据源 Com ...

  3. C# 两个ListBox 数据互传-基础操作

    先看效果图: 两个服务设施列,左边:lbFacility1,右边:lbFacility2,中间向左向右箭头. 如果只是单纯的向左向右移动,那很简单. 因为项目遇到要获取选中项的ID,通过给ListBo ...

  4. Python3 tkinter基础 Listbox height 显示行数的上限

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  5. Python3 tkinter基础 Listbox Scrollbar 创建垂直滚动条

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  6. Python3 tkinter基础 Listbox delete 删除单个、所有元素

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  7. Python3 tkinter基础 Listbox for+insert 将list中元素导入listbox中

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  8. Python3 tkinter基础 Listbox Button 点击按钮删除选中的单个元素

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  9. 2000条你应知的WPF小姿势 基础篇<22-27 WPF生命周期, 基础类等>

    端午长假在家陪着女朋友, 幸福感满满,生活对于一只饱经忧患的程序猿来说也是非常重要的,也就暂时没有更新博客.休假结束,回归奋斗的日子了,开始继续更新WPF系列. 在正文开始之前需要介绍一个人:Sean ...

随机推荐

  1. 【PHP框架CodeIgniter学习】使用辅助函数—建立自己的JSONHelper

    本文使用的是2.1.4版本,看的时候请注意. 官方文档:http://codeigniter.org.cn/user_guide/general/helpers.html(关于辅助函数Helper的使 ...

  2. HDU4524+水题

    简单. #include<stdio.h> #include<string.h> ; int a[ maxn ]; int main(){ int ca; scanf(&quo ...

  3. c/c++ 重载 数组 操作符[] operator[ is ambiguous, as 0 also mean a null pointer of const char* type.

    // Note: //int x = a[0].GetInt(); // Error: operator[ is ambiguous, as 0 also mean a null pointer of ...

  4. 在Qt中使用sleep(包含为win and *nix下sleep函数的实现及用法)

    http://blog.csdn.net/tingsking18/article/details/5304254 关于sleep函数,我们先来看一下他的作用:sleep函数是使调用sleep函数的线程 ...

  5. 用PersonalRank实现基于图的推荐算法

    今天我们讲一个下怎么使用随机游走算法PersonalRank实现基于图的推荐. 在推荐系统中,用户行为数据可以表示成图的形式,具体来说是二部图.用户的行为数据集由一个个(u,i)二元组组成,表示为用户 ...

  6. 转载:简化IT程序员工作生活的4个窍门

    如果可以简化你的生活——少做枯燥的任务,将时间真正地用于完成事情,你愿不愿意去尝试?下面就让我一起来学一下如何让程序员工作生活变得简单的小窍门.如果你敢于倾听自己的心声,你会发现自己一天中的大多数时间 ...

  7. hdu1501Zipper(记忆化搜索)

    http://acm.hdu.edu.cn/showproblem.php?pid=1501 搜了下记忆化搜索是嘛 然后就看到这个题了 不过一不小心看到代码了 代码又那么短 一不小心给记住了 然后看了 ...

  8. BZOJ_1005_ [HNOI2008]_明明的烦恼_(组合数学+purfer_sequence+高精度+分解因数+快速幂)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1005 一棵树有n个点,给出没给节点的度,如果没有限制则为-1,求共有多少种可能的树. 分析 蒟 ...

  9. 部署解决方案包 (SharePoint Server 2010)

    转:http://technet.microsoft.com/zh-cn/library/cc262995(v=office.14).aspx 本文介绍各个解决方案包,及其在 Microsoft Sh ...

  10. InstallShield2008脚本安装制作方法Setup

    //=========================================================================== // //  File Name:    S ...