Win32修改ListView控件扩展属性

Avalonia跨平台桌面开发实战:从WPF迁移到多平台应用构建 在桌面应用开发领域,跨平台框架是实现代码复用和扩大用户覆盖面的关键技术。其核心原理在于通过抽象层统一不同操作系统的UI渲染和交互逻辑,使开发者能够使用单一技术栈构建多平台应用。这一技术价值在于显著降低开发维护成本,同时保持接近原生的性能体验。在.NET生态中,WPF开发者常面临向macOS和Linux平台迁移的挑战,而Avalonia框架通过兼容XAML语法和MVVM模式,为这类场景提供了高效解决方案。它采用自研渲染引擎,确保了**跨平台一致性**和**高UI定制自由度**,特别适合需要复杂自定义控件和严格 阅读详情

创建一个ListView,以为就是和一般的控件一样:

m_hLogList = ::CreateWindowEx(LVS_EX_HEADERDRAGDROP|LVS_EX_FULLROWSELECT|LVS_EX_DOUBLEBUFFER, L"SysListView32", NULL, 
		WS_VISIBLE|WS_CHILD|LVS_REPORT|LVS_SINGLESEL|LVS_SHOWSELALWAYS, //|LVS_SINGLESEL|LVS_SHOWSELALWAYS|LVS_AUTOARRANGE|LVS_SINGLESEL
		0, 0, 0, 0, m_hWnd, NULL, m_hInst, NULL);

结果,创建出来的ListView扩展属性都都有表现出来。使用SPY++抓了一下,发现扩展属性变成了WS_EX_ACCEPTFILES。找到这些定义处:

#define WS_EX_ACCEPTFILES 0x00000010L
#define LVS_EX_HEADERDRAGDROP 0x00000010
呵呵,原来数值是一样的,那么修改ListView的扩展属性一定不是通过CreateWindowEx第一个参数来决定的。接着我又想到了,使用SetWindowLong函数来设置窗口的默认属性:

// 	SetLastError(0);
// 	LONG lStyleEx = GetWindowLong(m_hLogList, GWL_EXSTYLE);
// 	DWORD dwCode = GetLastError();
// 	SetLastError(0);
// 	LONG ret = SetWindowLong(m_hLogList, GWL_EXSTYLE, lStyleEx|LV
CListCtrl风格设置 CListCtrl样式: LVS_ICON 指定为图标视图,为每个item显示大图标 LVS_REPORT 指定报表视图,显示item详细资料 LVS_SMALLICON 指定为小图标视图,为每个item显示小图标 LVS_LIST 指定为列表视图,显示一列带有小图标的i... 阅读详情

相关推荐

MFC---List Control的用法总结

  List Control是MFC中经常用到的控件,但是可惜该控件并不支持键盘输入、添加各种控件(Button、ComboBox...)等功能,说白了基本功能就是一个用于显示数据的表格性质控件。那么,对于键盘输入的支持以及控件的添加等功能具体如何实现,在下文中一一详述。一、基本的使用1.初始化风格对于style的(报表风格、单选模式等)设置;对于ExtendedStyle(网格添加、item前添...

一只特立独行的ju的博客 2万+

C++ 类

本文介绍了C++中类的核心概念和使用方法。

weixin_54859557的博客 1016

GD32F105RBT6 keil工程模板

创建GD32F105RBT6的keil初始基础工程,未来的所有外设驱动都是基于这个基础工程进行扩展。

RMDYBW的博客 1925

ESP32专用E220LoRa库:EBYTE LoRa模块驱动与点对点透传实现

LoRa是一种基于扩频技术的低功耗远距离无线通信协议,广泛应用于物联网终端设备间的数据传输。其核心原理在于通过线性调频(Chirp)信号提升接收灵敏度与抗干扰能力,从而在Sub-GHz频段实现数公里级视距通信。该技术具备高链路预算、强穿透性与多节点并发接入能力,显著降低广域传感网络的部署成本与功耗门槛。典型应用场景包括农业环境监测、工业设备远程诊断、智能表计数据回传等对可靠性与简易集成要求严苛的嵌入式系统。本文聚焦EBYTE E220-400T22D模块在ESP32平台上的工程化落地,深入解析硬件引脚时序约

weixin_36064575的博客 554

Windows 11下Dify安装部署实战指南

本文详细介绍在Windows 11环境下部署开源LLM应用开发平台Dify的完整流程。涵盖环境准备(WSL 2启用、Docker Desktop安装配置)、源码获取、Docker容器化部署、数据库初始化、服务启动验证等核心步骤。包括环境变量配置、性能优化、安全加固、端口冲突解决、数据库连接故障排查等关键技术要点。为开发者提供从零到一的Dify本地化部署实战指南

weixin_44269410的博客 851

安川机器人SOCKET 通讯

命令 功能 参数 示例 返回 SelectJob 选择程序 JobName LineNo SelectJob TEST 0 #SelectJob,Ok StartJob 启动程序 JobName StartJob TEST #StartJob,Ok Pause 暂停当前程序 - Pause #Pause,Ok Continue 继续当前程序 - Continue #Continue,Ok ServoOn 伺服上电 - ServoOn #ServoOn,Ok ServoOf...

记录学习内容 8285

在 SAP Fiori 里玩转 Manage Views:把过滤器与列表布局固化成你的默认工作台

本文介绍了SAP Fiori应用中"Manage Views"功能的核心价值和使用方法。该功能允许用户保存和复用个性化界面设置,包括筛选条件、列布局等,将重复操作简化为一次性配置。文章从技术实现、用户操作和治理建议三个维度展开: 功能本质:View存储的是界面状态而非业务模型,是提升个人生产力的工具 核心价值:固化高频操作,支持默认视图设置,实现"开箱即用"的工作状态 操作指南:详细说明了收藏、重命名、设为默认、自动应用等关键功能 治理建议:区分标准视图、个人视图和公

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 125

Python实战日志_P4_图书馆Web API服务

目标:使用Flask将图书馆系统升级为RESTful API服务,掌握Web开发基础难度:⭐⭐⭐⭐☆预计学习时间:75分钟前置要求:已完成第3篇《个人图书馆管理系统》

qq_39436086的博客 83

数据库系统工程师软考备战:第三篇 - SQL语言深入解析与应用

​​创建表​​​修改表​​​删除表​。

Programming Talk 121

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

上一篇: windows下编译及使用libevent
下一篇: 深入了解tcmalloc(一):windows环境下无缝拦截技术初探
疯狂-的-蜗牛
博客等级 码龄16年 427粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值