SOUI官方论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: caryone

如何获取STreectrl中复选框的内容和状态,选项项与整个树

[复制链接]
  • TA的每日心情
    奋斗
    2024-3-15 15:43
  • 签到天数: 104 天

    [LV.6]常住居民II

    5

    主题

    47

    帖子

    950

    积分

    04:00化神期

    Rank: 4

    积分
    950
     楼主| 发表于 2019-12-12 15:12:57 | 显示全部楼层
    admin 发表于 2019-12-12 15:07
    从子到父的这个,你按我上面说的,就能得到一个路径,
    如果想要得到所有勾选的路径,你从根节点往下遍历就 ...

    往下遍历还是很复杂的,情况有点多。如果你的分级目录太多。那就麻烦了。我是想问问有没有提供获取其他勾选项的函数。
  • TA的每日心情
    开心
    前天 22:51
  • 签到天数: 946 天

    [LV.10]以坛为家III

    581

    主题

    1343

    帖子

    2万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    28876
    发表于 2019-12-12 15:24:32 | 显示全部楼层
    caryone 发表于 2019-12-12 15:12
    往下遍历还是很复杂的,情况有点多。如果你的分级目录太多。那就麻烦了。我是想问问有没有提供获取其他勾 ...

    你自己看那个类的代码就知道,没有,想要需要自己扩展这个控件
  • TA的每日心情
    奋斗
    2024-3-15 15:43
  • 签到天数: 104 天

    [LV.6]常住居民II

    5

    主题

    47

    帖子

    950

    积分

    04:00化神期

    Rank: 4

    积分
    950
     楼主| 发表于 2019-12-12 15:25:28 | 显示全部楼层
    本帖最后由 caryone 于 2019-12-12 15:51 编辑
    admin 发表于 2019-12-12 15:07
    从子到父的这个,你按我上面说的,就能得到一个路径,
    如果想要得到所有勾选的路径,你从根节点往下遍历就 ...

    好的
  • TA的每日心情
    奋斗
    2024-3-15 15:43
  • 签到天数: 104 天

    [LV.6]常住居民II

    5

    主题

    47

    帖子

    950

    积分

    04:00化神期

    Rank: 4

    积分
    950
     楼主| 发表于 2019-12-13 14:16:53 | 显示全部楼层

    大佬,你能帮我实现下嘛,从根节点往下遍历,找到所有勾选路径,想了一天了,还是没有搞出来。

    该用户从未签到

    4

    主题

    67

    帖子

    1388

    积分

    06:00合体期

    Rank: 6Rank: 6

    积分
    1388
    发表于 2019-12-16 09:38:04 | 显示全部楼层
    建议treeview
  • TA的每日心情
    开心
    前天 22:51
  • 签到天数: 946 天

    [LV.10]以坛为家III

    581

    主题

    1343

    帖子

    2万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    28876
    发表于 2019-12-16 13:57:44 | 显示全部楼层
    TreeCtrlDemo.rar (28.42 KB, 下载次数: 3, 售价: 2 SOUI币)

    2019-12-16_134920.png

    2019-12-16_134928.png
  • TA的每日心情
    开心
    前天 22:51
  • 签到天数: 946 天

    [LV.10]以坛为家III

    581

    主题

    1343

    帖子

    2万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    28876
    发表于 2019-12-17 10:06:58 | 显示全部楼层
    1. #include <iostream>
    2. #include <io.h>
    3. #include <string>
    4. using namespace std;

    5. void listFiles(const char * dir,int tab);

    6. int main()
    7. {
    8.         string dir;
    9.         cout << "Enter a directory (ends with \'\\\'): ";
    10.         cin>>dir;
    11.         dir += "*.*";    // 在要遍历的目录后加上通配符
    12.         listFiles(dir.c_str(),0);
    13.         cout << "Done!\n";
    14.         system("pause");
    15.         return 0;
    16. }

    17. void listFiles(const char * dir,int tab)
    18. {
    19.         intptr_t handle;
    20.         _finddata_t findData;

    21.         handle = _findfirst(dir, &findData);    // 查找目录中的第一个文件
    22.         if (handle == -1)
    23.         {
    24.                 cout << "Failed to find first file!\n";
    25.                 return;
    26.         }

    27.         do
    28.         {
    29.                 if (findData.attrib & _A_SUBDIR
    30.                         && !(strcmp(findData.name, ".") == 0
    31.                         || strcmp(findData.name, "..") == 0
    32.                         )){    // 是否是子目录并且不为"."或".."
    33.                         cout << findData.name << "\t<dir>\n";
    34.                         string subdir(dir);
    35.                         subdir.insert(subdir.find("*"), string(findData.name)+"\");
    36.                         cout << subdir << endl;
    37.                         listFiles(subdir.c_str(),tab+1);//递归遍历子文件夹
    38.                 }
    39.                 else {
    40.                         for (int i = 0; i < tab; ++i)
    41.                                 cout << "-";
    42.                         cout << findData.name << "\t" << findData.size << endl;
    43.                 }
    44.         } while (_findnext(handle, &findData) == 0);    // 查找目录中的下一个文件
    45.         system("pause");
    46.         _findclose(handle);    // 关闭搜索句柄
    47. }
    48. ————————————————
    49. 版权声明:本文为CSDN博主「晚风_清扬」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    50. 原文链接:https://blog.csdn.net/RUN32875094/article/details/82286713
    复制代码


  • TA的每日心情
    开心
    前天 22:51
  • 签到天数: 946 天

    [LV.10]以坛为家III

    581

    主题

    1343

    帖子

    2万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    28876
    发表于 2019-12-17 17:39:15 | 显示全部楼层
    更新demo,实现了遍历我的电脑所有盘的文件1、增加获取所有盘符的函数
    2、增加递归遍历添加指定路径目录树到SOUI的STreeCtrl的功能
    TreeCtrlDemo.rar (29.75 KB, 下载次数: 4, 售价: 3 SOUI币)
  • TA的每日心情
    开心
    2021-8-19 10:07
  • 签到天数: 31 天

    [LV.5]常住居民I

    4

    主题

    18

    帖子

    337

    积分

    02:00元婴期

    Rank: 3Rank: 3

    积分
    337
    发表于 2020-6-8 19:30:09 | 显示全部楼层
    学习下如何获取树的数据
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|SOUI官方论坛

    GMT+8, 2024-5-18 15:59

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表