智谱
一个我自己用纯 Win32 API 写的列表框类。它专注于”漂亮的界面 + 简单的调用”,适合聊天软件好友列表、软件启动器、应用商店这类场景,后续会发布免费的 DLL 版本。
前段时间帮客户做一款 Windows 聊天软件。要求和wx界面差不多于是弄了一个
先看看简陋的演示效果图


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

功能一览
一、三种行模式,可以在同一列表里混排
| 模式 | 用法 | 效果 |
|---|---|---|
| 纯图片行 | 设置 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(可重入),可从工作线程更新

![私有化部署源码[2026-04-13更新]-可达鸭小栈](https://img.ikdya.com/wp-content/uploads/2026/04/20260409080657504.jpg)





![logerDll 更新:从“调试”到“交互”——通知弹窗功能发布[ 2026-05-08更新]-可达鸭小栈](https://img.ikdya.com/wp-content/uploads/2026/05/20260506181426485.png)

暂无评论内容