SysListView32控件

句柄操作SYSLISTVIEW32 这几天公司有个项目是关于自动化的,说白了就是句柄操作。这几天遇到了一个syslistview32子项的双击事件,着是棘手,找了好半天才算苟延残喘地完成了,写篇总结,也给需要的人一些参考,少走些弯路吧。 单击(伪单击): 模拟SYSLISTVIEW32的Item的一个单击(选中该item)的话,这个不难,只需要遍历他的item,并把该item的状态设置为选中就可以了。上代码:        [ 阅读详情
代码

Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->void InsertColumn(void)
{
    LV_COLUMN lvc;

    lvc.mask = LVCF_TEXT | LVCF_WIDTH;
    lvc.pszText = "学号";
    lvc.cx = 60;
    SendMessage(hList, LVM_INSERTCOLUMN, 0, (long)&lvc);
    lvc.pszText = "姓名";
    lvc.cx = 80;
    SendMessage(hList, LVM_INSERTCOLUMN, 1, (long)&lvc);
    lvc.pszText = "性别";
    lvc.cx = 40;
    SendMessage(hList, LVM_INSERTCOLUMN, 2, (long)&lvc);
    lvc.pszText = "年龄";
    lvc.cx = 40;
    SendMessage(hList, LVM_INSERTCOLUMN, 3, (long)&lvc);
    lvc.pszText = "出生日期";
    lvc.cx = 100;
    SendMessage(hList, LVM_INSERTCOLUMN, 4, (long)&lvc);
    lvc.pszText = "籍贯";
    lvc.cx = 150;
    SendMessage(hList, LVM_INSERTCOLUMN, 5, (long)&lvc);
    lvc.pszText = "入学时间";
    lvc.cx = 100;
    SendMessage(hList, LVM_INSERTCOLUMN, 6, (long)&lvc);
    lvc.pszText = "数学";
    lvc.cx = 40;
    SendMessage(hList, LVM_INSERTCOLUMN, 7, (long)&lvc);
    lvc.pszText = "英语";
    lvc.cx = 40;
    SendMessage(hList, LVM_INSERTCOLUMN, 8, (long)&lvc);
    lvc.pszText = "政治";
    lvc.cx = 40;
    SendMessage(hList, LVM_INSERTCOLUMN, 9, (long)&lvc);
}

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    static HINSTANCE hInst;
    HMENU hMenu;
    LV_ITEM lvi;
    int i;

    switch (message) {
        case WM_CREATE:
            hInst = ((LPCREATESTRUCT)lParam) -> hInstance;
            hMenu = GetMenu(hwnd);
            InitCommonControls();
            hList = CreateWindowEx(NULL, TEXT("SysListView32"), NULL, LVS_REPORT | WS_CHILD | WS_VISIBLE, 0, 0, 0, 0, hwnd, NULL, hInst, NULL);
            InsertColumn();
            SendMessage(hList, LVM_SETTEXTCOLOR, 0, #ffffff);
            SendMessage(hList, LVM_SETBKCOLOR, 0, #646464);
            SendMessage(hList, LVM_SETTEXTBKCOLOR, 0, #000000);
            Refresh();
            break;
        case WM_COMMAND:
            switch (LOWORD(wParam)) {
                case IDREFRESH:
                    Refresh();
                    break;
                case IDINSERT:
                    if (DialogBox(hInst, TEXT("StudInfo"), hwnd, InsertDlgProc)) InvalidateRect(hwnd, NULL, TRUE);
                    break;
                case IDEDIT:
                    lvi.iItem = SendMessage(hList, LVM_GETNEXTITEM, -1, LVNI_SELECTED);
                    if (-1 == lvi.iItem) {
                        MessageBox(hwnd, "请选择一条记录!", "Edit Info", MB_OK | MB_ICONWARNING);
                        break;
                    }
                    lvi.mask = LVIF_TEXT;
                    lvi.cchTextMax = 20;
                    for (i = 0; i < 10; ++i) {
                        lvi.iSubItem = i;
                        lvi.pszText = buf[i];
                        SendMessage(hList, LVM_GETITEM, 0, (long)&lvi);
                    }
                    if (DialogBox(hInst, TEXT("StudInfo"), hwnd, EditDlgProc)) InvalidateRect(hwnd, NULL, TRUE);
                    break;
                case IDDELETE:
                    lvi.iItem = SendMessage(hList, LVM_GETNEXTITEM, -1, LVNI_SELECTED);
                    if (-1 == lvi.iItem) {
                        MessageBox(hwnd, "请选择一条记录!", "Delete Info", MB_OK | MB_ICONWARNING);
                        break;
                    }
                    SendMessage(hList, LVM_DELETEITEM, lvi.iItem, 0);
                    lvi.mask = LVIF_TEXT;
                    lvi.iSubItem = 0;
                    lvi.pszText = buf[0];
                    lvi.cchTextMax = 20;
                    SendMessage(hList, LVM_GETITEM, 0, (long)&lvi);
                    sprintf(query, "DELETE FROM student WHERE id = %s", buf[0]);
                    ODBCConnect(hwnd);
                    ODBCQuery(query);
                    ODBCQueryEnd();
                    ODBCDisconnect(hwnd);
                    break;
                case IDEXIT:
                    SendMessage(hwnd, WM_CLOSE, 0, 0);
                    break;
                case IDABOUT:
                    MessageBox(hwnd, "Students Info Administration System Developed by anonymous", "About", MB_OK | MB_ICONINFORMATION);
            }
            break;
        case WM_SIZE:
            MoveWindow(hList, 0, 0, LOWORD(lParam), HIWORD(lParam), TRUE);
            break;
        case WM_DESTROY:
            PostQuitMessage(0);
            break;
        default:
            return DefWindowProc(hwnd, message, wParam, lParam);
    }

    return 0;
}

win32通用控件ListView的使用 { TEXT("肖华"), TEXT("80"), TEXT("总经理"), TEXT("总经理") },{ TEXT("智博"), TEXT("20"),TEXT("技术部"), TEXT("工程师") },{ TEXT("王杰"), TEXT("40"), TEXT("技术部"), TEXT("经理") },{ TEXT("小米"), TEXT("18"), TEXT("客服部"), TEXT("经理") },UINT mask; 阅读详情

相关推荐

VB获取另一个程序中SysListView32控件中的内容

使用VB获取另一个程序中SysListView32控件中的内容,含源码以及例程。

pywin32 读取 ListView 控件中的内容

处理一下EasyBuilder_Pro中的查找与替换功能。想法是通过自动化的操作其他界面中的控件,减少工作量。

fzipw的博客 1443

Android TV远程调试全攻略:从开发者模式开启到ADB连接(附常见问题排查)

本文提供了一份详尽的Android TV远程调试实战指南,涵盖从开启开发者模式、配置网络ADB连接到高效调试与深度排错的完整流程。文章重点解析了通过Wi-Fi进行远程调试的核心步骤,并针对常见的连接失败、授权问题等提供了系统性的解决方案,旨在帮助开发者为Android TV应用开发构建稳定高效的调试环境。

1344

SysListView32 的使用资料

使用列表控制的步骤如下: 调用CreateWindowEx函数来创建一个列表控件,指定它的类名为SysListView32。您还可以在此处指定控件初次显示时的方式。 创建和初始化用在列表控件中显示项目的图象列表(如果存在)。 向列表控件中插入列,如果显示的方式是报告方式这一步是必须的。 向控件中插入项目和自项目。 所用到的两种数据结构:列: LV_COLUMN STRUCT imas...

weixin_30375247的博客 756

STM32实战:电容触摸屏I2C转USB HID设备全解析

本文详细解析了基于STM32的电容触摸屏I2C转USB HID设备实现方案。通过硬件选型、协议分析和代码实现,展示了如何将GT911触摸屏数据转换为标准USB HID协议,并提供了关键调试经验与性能优化技巧,为智能家居控制面板等应用提供高性价比解决方案。

weixin_42548829的博客 321

普通人如何上岸华为OD-面试总结

总共有3道算法题,100分值的两道,200分值的一道,不同的毕业院校和专业,通过机试的分值不一样,最少需要150分通过,提前和hr联系,了解自己需要多少分通过。重中之重:哪怕你是背的题库,也请你一定不要直接抄原来的,最好是变更下方法名,否则会判定你重复率过高,从而失去后面的面试机会(实在是不会做再用此方法,凑分数所用,面试官能看到你的代码,会影响你的面试评价)本人女,所以还问道了婚育计划,有对象这点可以说,没有问题,但是如果可以的话,生孩子的时间,可以给hr说这几年不考虑。如果说没有难题,直接就挂了。

weixin_47767264的博客 5457

SysListView32控件的使用

SysListView32控件的使用  2011-05-07 17:34:25|  分类: 计算机 |  标签: |字号大中小 订阅 http://gunxue77.blog.163.com/blog/static/1196804220114753425303/   使用列表控制的步骤如下: 1.            调用CreateWindowEx函数来创建一个列

zbx91的专栏 1266

Ubuntu22.04安装ROS2 —— ROS2 humble 详细图文教程

本文详细介绍了如何在Ubuntu22.04(Jammy)系统下配置ROS2环境,安装RO2软件包,并验证安装成功。ROS2的版本是Humble Hawksbill。:ROS是一个开源的,提供硬件抽象、设备驱动、库、工具和通信机制,支持模块化开发与集成,广泛用于机器人控制和自动化应用。ROS2 相较于 ROS1 在架构设计、通信机制和平台支持等方面做出了改进。ROS1 采用集中式主节点(Master)进行节点间通信,存在单点故障风险,且实时性和跨平台支持较弱。

weixin_49649078的博客 8819

SysListView32控件响应鼠标单击消息

本文出自程序人生 >> SysListView32控件响应鼠标单击消息 作者:代码疯子 SysListView32控件就是列表视图控件(MFC里面的CListCtrl就是对SysListView32进行的封装)。如果想知道用户选择了哪个元素,可以这么响应消息(注意,这里是Report风格):// Coded by 代码疯子 // http://www.programlife.net/

ProgrammingRing的专栏 4232

pynq-z2 HLS开发

定制Overlay一.用HLS生成一个定制IP功啊啊是合理的创建标题,有助于目录的生成如何改变是式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 一.用HLS生成一个定制IP ...

qq_38769280的博客 4156

【62】OpenCV C++实战篇——【项目实战】OpenCV C++ 精准定位“十字刻度尺”中心坐标,过滤图片中的干扰,精准获取十字交点坐标

本文针对工业相机拍摄的2000万像素图像中十字刻度尺的精确定位问题进行了研究。面对图像较暗、存在红黄干扰、记号笔涂抹及细节模糊等难点,提出了一种基于霍夫变换的解决方案。通过灰度化、反色、二值化预处理后,对比分析了多尺度霍夫直线(HoughLines)和渐进概率霍夫线段(HoughLinesP)两种方法的定位效果。实验结果表明,HoughLinesP由于具有最小线段长度和间隙约束,在直线贴合度和交点定位精度上表现更优,其返回的线段端点坐标也更便于后续处理。该研究为工业视觉中微小目标的精确定位提供了实用参考。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 975

[转载]SysListView32控件响应鼠标单击消息

本文出自程序人生>>SysListView32控件响应鼠标单击消息作者:代码疯子 SysListView32控件就是列表视图控件(MFC里面的CListCtrl就是对SysListView32进行的封装)。如果想知道用户选择了哪个元素,可以这么响应消息(注意,这里是Report风格): 1 // Coded by 代码疯子 2 // http:/...

angbagangzhe065140的博客 331

OpenOCD入门到精通:第20章 Target 子系统源码分析

摘要:本章深入分析OpenOCD Target子系统的核心实现机制。重点包括:1) 通过target_type虚函数表实现多架构抽象,支持ARM、RISC-V等30+种目标;2) ARM ADIv5协议栈实现,包含DAP/AP核心数据结构和访问机制;3) 分层架构设计,从调试接口层到传输层的完整调用链路。系统采用面向对象思想,统一管理目标状态、寄存器缓存、断点/观察点等调试要素,为上层提供标准化的调试操作接口。

从事嵌入式linux android驱动开发,拥有全栈能力 180

C 获取 SysListView32 所有行内容源代码:让列表控件内容获取更简单

C# 获取 SysListView32 所有行内容源代码:让列表控件内容获取更简单 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在 Windows Forms 应用程序开发中,SysListView32 控件被广泛用于展示列表数据。然而,有时我们需要获取这个控件中所有行的内容,包括列表头。C# 获取 SysListView32 所有行内容源代码项目为此提供了一个简洁...

gitblog_06730的博客 788

大模型微调部署实战及类GPT工具的高效使用

本文主要介绍了专栏《大模型微调部署实战及类GPT工具的高效使用》的核心内容,希望对使用大语言模型的同学们有所帮助。 文章目录 1. 前言 2. 专栏亮点 3. 你的收获 4. 详细目录

herosunly的博客 22万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

VB获取另一个程序中SysListView32控件中的内容:深入探索跨程序数据交互

VB获取另一个程序中SysListView32控件中的内容:深入探索跨程序数据交互 去发现同类优质开源项目:https://gitcode.com/ 在软件开发中,跨程序的数据交互一直是一个挑战性的需求。今天,我们将为您推荐一个开源项目,它使用VB语言巧妙地解决了这一问题——VB获取另一个程序中SysListView32控件中的内容。以下是对该项目的详细解读和应用指南。 项目介绍 VB获取另一个程...

gitblog_06716的博客 359

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

通过句柄获取或遍历SysListView32和SysTreeView32控件的数据信息

通过句柄获取或遍历SysListView32和SysTreeView32控件的数据信息

ZeroCode 1万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

监视弹出窗口,读取SysListView32 控件内容

监视弹出窗口,读取SysListView32 控件内容

qq_14860257的博客 636

c++跨进程 获取 syslistview32 内容

c++跨进程 获取 syslistview32 内容

qq_14860257的博客 558

探索任务管理器的秘密:SysListView32 实例读取工具

探索任务管理器的秘密:SysListView32 实例读取工具 【下载地址】SysListView32实例读取工具 本仓库提供了一个名为 `Task_SysListView32.rar` 的资源文件,该文件主要用于读取其他程序中的 `SysListView32` 实例。具体来说,该工具可以帮助用户读取任务管理器中的“详细...

gitblog_09749的博客 1000

SysListView32使用

转自:http://www.cnblogs.com/coderlee/archive/2010/01/06/1640783.html 使用列表控制的步骤如下: 1.            调用CreateWindowEx函数来创建一个列表控件,指定它的类名为SysListView32。您还可以在此处指定控件初次显示时的方式。 2.            创建和初始化用在列表控件中显示项目的图

ProgrammingRing的专栏 2500

C 获取 SysListView32 所有行内容源代码

C# 获取 SysListView32 所有行内容源代码 去发现同类优质开源项目:https://gitcode.com/ 此仓库提供了一个 C# 编写的源代码示例,用于获取 SysListView32 控件中所有行的内容(包括列表头),并附带有用例供您直接运行。 功能简介 获取 SysListView32 控件所有行的内容,包括列表头。 支持在 Windows Forms 应用程序中使用。 提...

gitblog_06787的博客 470

systreeview32选中_读取sysTreeview32和SysListView32

#include #include #include int main(void){/* Run through the windows until we find our listview. */HWND hwnd = NULL;int count, i;char item[512] = {0}, subitem[512] = {0};LVITEM lvi, *_lvi;char *_item,...

weixin_29114331的博客 578

[转载]SysListView32使用

转自:http://www.cnblogs.com/coderlee/archive/2010/01/06/1640783.html 使用列表控制的步骤如下: 1. 调用CreateWindowEx函数来创建一个列表控件,指定它的类名为SysListView32。您还可以在此处指定控件初次显示时的方式。 2. 创建和初始化用在列表控件中显...

angbagangzhe065140的博客 163
上一篇: STL中map的数据结构
下一篇: 防止 gdi 泄露
CButtonST
博客等级 码龄16年 42粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值