jcos 发表于 2026-9-16 03:18:58

MFC原生窗口实现透明渐变_续集3

谢谢 @RMJ https://bbs.voldp.com/thread-30109-1-1.html
无私分享

我好少逛火山,ai时代人也变懒了
刚好看到这个扩展组件觉得挺好看的,看到滚动条是系统默认的样式,于是改改。

MFC扩展界面支持类库2 —— 滚动条重做版(2026-09-16)
我在其基础上把滚动条重做了一遍,另修了几个Ai认为的可能缺陷,继续分享出来。
主要改动

[*]端子表Ex 补上横向滚动条。 原来只有竖条,而默认 720px 宽根本放不下 8 个位开关(实际需要约 978px)——第 5/6/7 位被直接裁在窗口外,压根点不到。现在横竖都能滚。

[*]所有滚动条统一成「最窄自动隐式」窄条:10px 宽、圆头、叠加式不占客户区,内容装得下就自动不出现(原来是又粗又宽的系统原生条,约 17px,还永久常驻)。悬停加深、按住可拖、滚轮可用。
覆盖 10 处:端子表Ex / 表格Ex / 树形框Ex / 柱状图Ex / 曲线图Ex / 列表框Ex /编辑框Ex / 富文本框Ex / 组合框Ex 下拉列表 / 消息框Ex 正文区。

[*]列表框Ex 原来完全没有可见滚动条(只能滚轮,用户并不知道还能滚)→ 已补上。

[*]树形框Ex 原来的滚动条既不能悬停也不能拖 → 已补上。

[*]修了一个藏得很深的 Bug:源码里 3 处 _T("宋体")。这个库的 .cpp 是 UTF-8 无 BOM,MSVC 按 GBK 解释 → 中文变乱码 → 字体名成了废字符串 → 系统静默回退默认字体。不报错、不崩溃、中文 Windows 上还看不出问题(兜底字体恰好也是宋体),但在非中文系统上会真的跑偏。已改为官方英文族名 SimSun。

[*]图表加了横向滚动条后会压住下方类目名称 → 绘图区底边距 28 加到 40。
兼容性:只改了 C++ 源码实现,类库结构 / 属性 / 事件一个都没动,现有工程代码不用改。
用法:整包放到火山的 plugins\vprj_win\classlib\sys\ 下面(保持这个层级,库的依赖路径是按"相对类库根"写的),依赖火山自带的 mfc_ui_base。替换后建议执行一次「生成 → 清理解决方案」再编译。
注意:本包的 .vgrp / .wsv 是 UTF-8 无 BOM 保存的(新版火山默认),火山版本比这更旧的打不开这个库 —— 官方说明是"新版能读旧版存的文件,旧版读不了新版存的文件"。



源码:


秋天的童话 发表于 2026-9-16 07:25:21

谢谢楼主分享!

fengyishen 发表于 2026-9-16 08:54:58

准备加入的模块"仰望模块_MFC组件扩展库"("D:\Program Files\vol_dev\plugins\vprj_win\classlib\user\yw\yw2.vgrp")和项目中的已有模块"火山模块MFC组件扩展库"("D:\Program Files\vol_dev\plugins\vprj_win\classlib\user\yw\huoshanmk2.vgrp")在同一项目内只能存在其中一个.

建立界面插件解决方案"C:\Users\Administrator\AppData\Roaming\VolDev\视窗+安卓+服务器\简体中文\测试版\plugins\vprj_win\ui\ui.vsln"失败
更新当前所使用界面模块对应的插件失败

sunye88888 发表于 2026-9-16 13:32:16

本帖最后由 sunye88888 于 2026-9-16 13:33 编辑

楼主你好,插件很好 ,只是有个小问题,我用选择夹这个组件时候,自己对应的使用了不同的组件布局器,然后发现组件布局器背景颜色不同的时候,按钮圆角会留下白边,在设计器中,改背景色也会出现,但是移动按钮或者重新打开设计器,就不会有了,但是编译后软件总是会有
每个布局器我也都放置了布局器ex 组件

RMJ 发表于 2026-9-16 16:19:18

楼主厉害????

sunye88888 发表于 2026-9-16 16:22:39

本帖最后由 sunye88888 于 2026-9-16 16:26 编辑

RMJ 发表于 2026-9-16 16:19
楼主厉害????
:funk:光看标题了,仔细一看才知道原创在这,对我来说都是大神

jcos 发表于 2026-9-16 16:29:21

RMJ 发表于 2026-9-16 16:19
楼主厉害????

等你来完善完善了,加更多的功能,傻瓜化的使用方式等等!加油!看好你哦!

RMJ 发表于 2026-9-16 17:48:49

jcos 发表于 2026-9-16 16:29
等你来完善完善了,加更多的功能,傻瓜化的使用方式等等!加油!看好你哦! ...

谁用到什么功能,发现有什么问题或需求就可以优化,然后可以发出来,可以说明在哪个版本优化的,部分功能我没有项目上验证

RMJ 发表于 2026-9-16 17:51:09

sunye88888 发表于 2026-9-16 13:32
楼主你好,插件很好 ,只是有个小问题,我用选择夹这个组件时候,自己对应的使用了不同的组件布局器,然后发现组 ...

目前透明都是针对布局器,其他容器需要自己按布局器优化

li327065266kun 发表于 2026-9-17 22:32:04

:噜阿噜WTL好使不?
页: [1]
查看完整版本: MFC原生窗口实现透明渐变_续集3