ByteNoteByteNote
长条窗口是一千乘三百
字

字节笔记本

2026年10月7日 · 约 2 分钟读完

长条窗口是一千乘三百

API中转
¥120

原代码同时做了几件对不上的尺寸。内容帧的最小宽是 600,理想宽是 400,最大高是 100。理想宽比最小宽还小。委托里先去掉 resizable,再把内容尺寸设成宽 100、高 600,那是竖条。用户要的是 20 比 6 的长条。

一千乘三百才是这个比例

修改后的帧改成固定宽 1000、高 300。委托里的 setContentSize 用同样的两个数。1000 比 300 等于 10 比 3,也就是 20 比 6。两处必须一样。只改帧、不改 setContentSize,启动后仍会被委托改成另一个尺寸。

窗口样式是隐藏标题栏。命令组替换掉新建项,里面是空的。样式掩码去掉可调整大小,所以比例不会被用户拖变形。定位用主屏的 visibleFrame。横坐标是屏幕宽度减窗口宽度再除以二。纵坐标是可见区域最大 Y 减去窗口高度再减 10。窗口在水平居中的位置,顶边离可见区域顶部 10 点。修改后的委托不再先调用 center。

内容视图原来被注释掉了

原来的内容视图整段在注释里。修改后打开了。底层是视觉效果视图,混合模式 behindWindow,状态 active,材质 hudWindow。上面一行白字 Long Strip Window,字体是 headline,左边对齐,Spacer 把余下空间推到右边。更新函数是空的。

一千乘三百等于二十比六

隐藏标题栏之后,拖动区域靠窗口剩下的部分。对话没有另加拖动条。去掉可调整大小之后,也不能靠拖边改回竖条。

visibleFrame 不含菜单栏和程序坞占掉的部分。用屏幕全帧去减,顶边会算进菜单栏。对话用的是可见帧。

顶边留了十个点

原代码在改原点之前调用了 center。新代码删了这一步,只设原点。若两段一起留着,后一次原点会覆盖居中,但尺寸冲突仍然要先解决。

理想宽 400 小于最小宽 600 的那组帧已经换掉。不要把旧的 min 和 ideal 再贴回去,否则固定的 1000 和 300 不会生效。

文字颜色是白。材质是 hud。对话没有再改模糊的其他参数。

相关文章

分享: