一个轻量级 C++ 自绘列表控件类 SuperListBox 轻松实现仿微信好友列表效果

一个轻量级 C++ 自绘列表控件类 SuperListBox 轻松实现仿微信好友列表效果-可达鸭小栈
一个轻量级 C++ 自绘列表控件类 SuperListBox 轻松实现仿微信好友列表效果
此内容为付费资源,请付费后查看
199
积分资源免费
付费资源可享->
免费更新
协助部署
在线答疑
付费资源

智谱

AI 正在加载摘要

一个我自己用纯 Win32 API 写的列表框类。它专注于”漂亮的界面 + 简单的调用”,适合聊天软件好友列表、软件启动器、应用商店这类场景,后续会发布免费的 DLL 版本。

前段时间帮客户做一款 Windows 聊天软件。要求和wx界面差不多于是弄了一个

先看看简陋的演示效果图

QQ20260923-033159

QQ20260923-033051

后面还实现了另一种方式的界面

QQ20260923-033720

功能一览

一、三种行模式,可以在同一列表里混排

 
 
模式 用法 效果
纯图片行 设置 rowImagePath 整行一张图片
图文按钮行 设置 iconText / title / subTitle / btnText 图标 + 文字 + 按钮
纯文字行 只设置 title 一行文字

比如好友列表里,普通好友是”头像 + 昵称 + 签名”,置顶横幅是一张图片——这两种行可以混在同一个列表里。

二、图文布局支持四个方向

图标可以在文字的上下左右:

item.titleIconPos = ElementPosKdy::Right;   // 图标在左(好友列表)
item.titleIconPos = ElementPosKdy::Left;    // 图标在右
item.titleIconPos = ElementPosKdy::Bottom;  // 图标在上
item.titleIconPos = ElementPosKdy::Top;     // 图标在下

副标题相对主标题也是四个方向:

item.subTitleTitlePos = ElementPosKdy::Bottom;  // 昵称在上签名在下(微信风格)
item.subTitleTitlePos = ElementPosKdy::Right;   // 昵称签名同一行

16 种组合,基本能满足所有列表设计稿。

三、字体样式完全自定义

每一行的标题、副标题、图标、按钮都可以独立设置字体:

item.titleFont.family = "Microsoft YaHei";
item.titleFont.size = 16;
item.titleFont.color = RGB(20, 20, 20);
item.titleFont.bold = true;
item.titleFont.italic = false;

显示相关

  • 三种行模式:纯图片行、图文按钮行、纯文字行,可以在同一列表里混排

  • 图文四向布局:图标可以在文字的上下左右任意方向

  • 副标题四向布局:副标题相对主标题也可以在上下左右

  • 字体完全自定义:标题、副标题、图标、按钮各自独立设置字体名、字号、颜色、加粗、斜体

  • 图片大小控制:宽高独立指定,或铺满整行

  • 内容对齐:内容块可整体靠左、居中、靠右

  • 按钮位置:支持靠左/中/右对齐,也支持自定义绝对坐标

样式相关

  • 表格样式:每行加分隔线,仿 MFC 表格视图

  • 勾选列:左侧带复选框,支持禁用单行勾选

  • 悬停高亮:整行变色,颜色可配

  • 自绘滚动条:8 像素圆角滑块,悬停变亮,支持拖拽

  • 纯色或图片背景:整个列表框的背景可换

交互相关

  • 按钮点击回调:带行索引

  • 文字/图标点击回调:带行索引

  • 纯图片点击回调:带行索引

  • 勾选变化回调:带行索引和新状态

  • 右键菜单:带图标、透明度、多级子菜单、分割线

  • 鼠标拖拽调整大小:可开启或关闭

  • 滚轮和滑块滚动:都支持

数据相关

  • 增删改查AddItem / InsertItem / RemoveItem / UpdateItem / ClearAllItems

  • 单个字段修改SetItemTitle / SetItemSubTitle / SetItemBtnText 等,一次只改一个字段

  • 读取数据GetItemTitle / GetItemSubTitle / GetItemChecked / GetItemUserData

  • 线程安全:内部使用 Windows 原生 CRITICAL_SECTION(可重入),可从工作线程更新

------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
看完了?看完了愣着啊点赞干什么
点赞57 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容