local mainForm = nil -- 缓存主窗口
local panel5 = nil -- 缓存 Panel5
-- 原始 Panel5 的 Bounds,用来恢复默认布局
local originalLeft, originalTop, originalWidth, originalHeight
-- 新增:默认布局的高度缩放比例(可自行调整,0.8=原始高度的80%)
local defaultHeightScale = 0.65 -- 核心调整参数:0.7=70%,0.9=90%
-- 仅初始化一次缓存
local function initCache()
if mainForm then return end
mainForm = getMainForm()
panel5 = mainForm.Panel5
-- 记录原始大小(仅第一次)
originalLeft = panel5.Left
originalTop = panel5.Top
originalWidth = panel5.Width
originalHeight = panel5.Height
end
-- 1. 恢复默认布局(优化高度,缩小Panel5避免溢出)
local function restoreDefault()
initCache()
panel5.Visible = true
panel5.Left = originalLeft
panel5.Top = originalTop
panel5.Width = originalWidth
-- 核心修改:按比例缩小高度(或直接设置固定值,二选一)
-- 方式1:按比例缩放(推荐,适配不同分辨率)
panel5.Height = originalHeight * defaultHeightScale
-- 方式2:直接设置固定高度(比如固定为400像素,按需修改)
-- panel5.Height = 400
panel5.Constraints.MinHeight = 1 -- 解除拖动限制,测试中
end
-- 2. 进入紧凑模式(Panel5 占满客户区)
local function enterCompact()
initCache()
panel5.Visible = true
panel5.Left = 0
panel5.Top = 0
panel5.Width = mainForm.ClientWidth
panel5.Height = mainForm.ClientHeight
end
-- 3. 退出紧凑(直接隐藏 Panel5,露出原来界面)
local function exitCompact()
initCache()
panel5.Visible = false
end
-- 在菜单栏追加三个按钮
local function addMenuButtons()
local parent = getMainForm().Menu.Items
-- 按钮 1:默认
local mDefault = createMenuItem(parent)
parent.add(mDefault)
mDefault.Caption = '默认'
mDefault.OnClick = restoreDefault
-- 按钮 2:扫描
local mCompact = createMenuItem(parent)
parent.add(mCompact)
mCompact.Caption = '扫描'
mCompact.OnClick = enterCompact
-- 按钮 3:表格
local mExit = createMenuItem(parent)
parent.add(mExit)
mExit.Caption = '表格'
mExit.OnClick = exitCompact
end
-- 定时器延迟执行(确保界面加载完成)
local t = createTimer(nil)
t.Interval = 20 -- 触发间隔(毫秒)
t.OnTimer = function(sender)
sender.destroy()
addMenuButtons()
restoreDefault() -- 添加默认启动显示方式
end
复制源码保存为lua文件并放到【autorun】目录下即可,名字任意!
