zoukankan      html  css  js  c++  java
  • CListBox一些用法

    最近编程序需要用到listbox,感觉listbox还是比较简单的。有问题,去msdn。

    1. listbox 有单选和多选两个模式。

        单选状态下,只能选择一个item,多选状态下,可以选择多个item。

    2. list的每一个item有会有显示的text和与之关联的data。一个是字符串类型,一个是整型。

    3. 如何实现listlox元素的上移和下移

        对于单选模式下,解决方案是 取得当前选中的元素的位置,上移的话,保存上一个元素的值,然后再将上一个元素的值重新插入。

        单选模式比较简单。代码就不给出了。

        多选模式下的上移,此时会上移所有被选中且可以上移的item。

         for (int i = 1; i < m_listbox.GetCount(); ++i )

        {

    if (m_listbox.GetSel(i) && !m_listbox.GetSel(i-1))

    {

    long ident = m_listbox.GetItemData(i-1);

    CString text;

    m_listbox.GetText(i - 1, text);

    m_listbox.DeleteString(i-1);

    m_listbox.InsertString(i, text);

    m_listbox.SetItemData(i, ident);

              }

        } 

         下移:

          for (int i = m_listbox.GetCount()-2; i >= 0; i-- )

    {

    if (m_listbox.GetSel(i) && !m_listbox.GetSel(i+1))

    {

    long ident = m_listbox.GetItemData(i+1);

    CString text;

    m_listbox.GetText(i, text);

    m_listbox.DeleteString(i);

    m_listbox.InsertString(i + 1, text);

    m_listbox.SetItemData(i + 1, ident);

    m_listbox.SetSel(i + 1);

                      }

             }

            这里面的小窍门就是从listbox的底部往上遍历。

            如果从上往下移的话,会一直不停的移直到最后,而不是只移动一位。

    4. 全选和取消全选:

      // 全选

    m_listbox.SelItemRange(TRUE, 0, m_listbox.GetCount()-1);

      //取消全选

       m_listbox.SelItemRange(FALSE, 0, m_listbox.GetCount()-1);   

  • 相关阅读:
    AVUE 根据 某个字段 倒序查询
    Java hutool工具包的使用
    AVUE 添加搜索项
    SpringBlade 添加 回收站功能
    接口 form-data 将对象转换为复杂url参数
    AVUE 隐藏 新增按钮
    AVUE 查看crud列的属性配置
    AVUE dialog对话框 去掉 点击屏幕空白区 就关闭弹框
    接口 C#/Java 请求数据 raw 的方式传输复杂对象
    接口 PostMan 常用
  • 原文地址:https://www.cnblogs.com/freedesert/p/3021961.html
Copyright © 2011-2022 走看看