递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 88|回复: 2
打印 上一主题 下一主题

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

[复制链接]

19

主题

178

帖子

1002

积分

银牌会员

Rank: 6Rank: 6

积分
1002
QQ
跳转到指定楼层
楼主
谢谢 @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 保存的(新版火山默认),火山版本比这更旧的打不开这个库 —— 官方说明是"新版能读旧版存的文件,旧版读不了新版存的文件"。



源码
mfc_control_ext2.zip (191.74 KB, 下载次数: 7)

:噜阿噜 道生易 易生万物 Q群1071098978
回复

使用道具 举报

29

主题

574

帖子

4445

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
4445
板凳
发表于 2 小时前 | 只看该作者
准备加入的模块"仰望模块_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"失败
更新当前所使用界面模块对应的插件失败
回复

使用道具 举报

15

主题

335

帖子

2874

积分

银牌会员

Rank: 6Rank: 6

积分
2874
沙发
发表于 4 小时前 | 只看该作者
谢谢楼主分享!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2026-9-16 11:43 , Processed in 0.098643 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表