当前位置: 首页 > news >正文

Win32 SDK Gui编程系列之--ListView自绘OwnerDraw(续)

通过所有者绘制的列表视图(2)         

        所有者绘制列表视图的基础已在前一页中说明。本页将展示如何在所有者绘制列表视图中显示数据库表数据。
1、访问日志 正如在另一个页面中所述,本网站的访问日志目前是通过SQLite3数据库管理的。
        以下是上述程序执行的结果。为了有效管理大量记录,每个访问记录都被数字化。这样的数据并不以原始形式存在于关系数据库的表中。
b5f792f445084d7e8c51186cd38ec98f.png
        通过执行下面红色显示的SQL语句(选择查询)来获取表log和表path的数据:

90:     sqlite3_open(LOGDB, &db);   // 打开数据库
91:     sql = "select count(*) as cnt,name from log,path where log.pid=path.id group by pid order by cnt desc";
92:     sqlite3_exec(db, sql, callback, 0, &zErrMsg);
93:     sqlite3_close(db);

顺便说一下,通过SQL语句 "select count(*) from log;" 可以得到表log的记录数。
        截至2013年5月2日,这个值是532,394。在我平时使用的移动PC(1.83GHz, 2.0GB)上,执行上述红色查询的时间是2、3秒。当记录数达到几百万时,执行时间会成为问题。 我正在考虑更换电脑,这样几百万条记录应该没问题,但数千万条记录可能就不行了。 在这种情况下,解决方案总是不从所有原始日志中获取,而是例如按月汇总。 2. 所有者绘制的列表视图 要将列表视图设置为所有者绘制,需要在创建时的窗口样式中添加LVS_OWNERDRAWFIXED。 列的创建与标准列表视图相同。 由于不需要设置显示字符串,因此记录的创建比标准列表视图简单。但是,不能省略。

56: void onCreate(HWND hWnd) {
57:     int iCol, iRow;
58:     hList = CreateWindowEx(0, WC_LISTVIEW, NULL, 
59:                         WS_CHILD|WS_VISIBLE|LVS_REPORT|LVS_OWNERDRAWFIXED,
60:                         0, 0, 1, 1, hWnd, (HMENU)777, NULL, NULL);
61:     SendMessage(hList, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_GRIDLINES);
62:     for (iCol = 0; iCol < NCOL; iCol++) {
63:         LVCOLUMN col = { LVCF_FMT|LVCF_TEXT|LVCF_WIDTH|LVCF_SUBITEM, 0,
64:                          iCol==0 ? 50 : iCol==1 ? 90 : 400
http://www.lryc.cn/news/296435.html

相关文章:

  • Android 应用添加系统签名权限的几种方式实现介绍
  • 麒麟V10+飞腾处理器源码编译qt
  • MacOS 查AirPods 电量技巧:可实现低电量提醒、自动弹窗
  • python介绍,安装Cpython解释器,IDE工具pycharm的使用
  • 服务器安装Docker (centOS)
  • 解析spritf和sscanf与模拟常用字符串函数strchr,strtok(二)
  • 备战蓝桥杯---搜索(进阶4)
  • 51单片机基础(C语言):定时器时钟
  • 单片机无线发射的原理剖析
  • Redis的过期键的删除策略
  • 放假--寒假自学版 day1(补2.5)
  • LLM(5) | Encoder 和 Decoder 架构
  • CV | Medical-SAM-Adapter论文详解及项目实现
  • C++初阶:容器(Containers)vector常用接口详解
  • flink写入es的参数解析
  • 逆向工程:揭开科技神秘面纱的艺术
  • 决策树的相关知识点
  • 【数据结构】单向链表实现 超详细
  • Opencc4j 开源中文繁简体使用介绍
  • vue 下载二进制文件
  • 数据结构之堆排序
  • 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之ScrollBar组件
  • 读论文:DiffBIR: Towards Blind Image Restoration with Generative Diffusion Prior
  • 基于微信小程序的新生报到系统的研究与实现,附源码
  • 分享一下 uniapp 打包安卓apk
  • DevOps落地笔记-21|业务价值:软件发布的最终目的
  • 【动态规划】【前缀和】【数学】2338. 统计理想数组的数目
  • 【已解决】onnx转换为rknn置信度大于1,图像出现乱框问题解决
  • 多路服务器技术如何处理大量并发请求?
  • SpringBoot - 不加 @EnableCaching 标签也一样可以在 Redis 中存储缓存?