递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[视窗] 火山视窗MFC锚点布局,让自适应布局更简单!

[复制链接]

103

主题

686

帖子

6680

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
6680
QQ
跳转到指定楼层
楼主
本帖最后由 xrea 于 2026-9-13 16:18 编辑

锚点布局介绍
  锚点布局是面向火山PC(视窗平台)的界面自适应组件,基于 MFC界面基本类模块扩展实现。将其拖入窗口后,只需为内部子组件选择“锚点”属性(左右、全部锚定等 16 种组合),窗口尺寸变化时子组件即自动调整位置与尺寸:设计器中拉伸实时预览,运行时同样自动生效。组件采用四边距基线算法,杜绝累积漂移;缩小时自带最小尺寸保护,支持嵌套布局与运行时动态调整锚点,并可随时冻结或恢复重排——界面自适应从此无需手写任何布局代码。
锚点布局演示

锚点布局使用方法
三步使用
第 1 步:放置锚点布局
在窗口设计器中,从工具箱把「锚点布局」组件拖到窗口上(默认 600×420,可拉伸调整)。它是一个容器,把你希望随窗口缩放的组件都放进它里面。
第 2 步:放入子组件
把按钮、编辑框等组件正常拖到锚点布局内部(和普通容器操作一样),摆好初始位置——这个初始摆放就是布局的“基线”。
第 3 步:设置锚点
选中锚点布局内的某个子组件 → 属性表找到「锚点」属性 → 下拉选择组合(默认“左顶”)。常见搭配见上图速查表:

场景        锚点组合        效果
顶部工具栏/标题栏        左右(5)        宽度跟随,高度不变
左侧导航栏        左顶底(11)        高度跟随,宽度不变
中央内容区        全部锚定(15)        四边跟随拉伸
底部状态栏        左右底(13)        宽度跟随,贴底
右下角"确定"按钮        右底(12)        始终贴右下角
Logo/角标        左顶(3,默认)        位置固定不动
验证:设计器里直接拉伸锚点布局,子组件会按锚点实时重排——所见即所得。保存后运行程序,窗口缩放时同样自动生效。

锚点布局安装方法
将压缩包中的文件夹解压出来替换到路径(你的火山安装目录\plugins\vprj_win\classlib\sys)。
(其实就是替换官方的mfc_ui_base类库)注意替换后打开界面设计器会要求更新,更新下即可
附件
游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

17

主题

163

帖子

1377

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
1377
沙发
发表于 6 小时前 | 只看该作者
回复

使用道具 举报

95

主题

849

帖子

7484

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
7484
板凳
发表于 6 小时前 | 只看该作者
火山有你而更精彩
回复

使用道具 举报

15

主题

332

帖子

2864

积分

银牌会员

Rank: 6Rank: 6

积分
2864
地板
发表于 4 小时前 | 只看该作者
感谢楼主大佬分享,很有用的功能。
回复

使用道具 举报

62

主题

571

帖子

7738

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
7738
5#
发表于 3 小时前 | 只看该作者
优秀。。。
回复

使用道具 举报

40

主题

351

帖子

2680

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
2680
6#
发表于 2 小时前 | 只看该作者
火山有你而更精彩
回复

使用道具 举报

0

主题

62

帖子

3977

积分

论坛元老

Rank: 8Rank: 8

积分
3977
QQ
7#
发表于 1 小时前 | 只看该作者
不错,不然每次都是慢慢去调
回复

使用道具 举报

503

主题

2万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
49585
QQ
8#
发表于 1 小时前 | 只看该作者
牛逼
回复

使用道具 举报

3

主题

224

帖子

3883

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
3883
9#
发表于 1 小时前 | 只看该作者
谢谢分享
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-9-13 23:00 , Processed in 0.098873 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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