Gui 加上 +Resize 以后,窗口本身可以被用户拖动改变大小,但窗口里的控件不会自动跟着变。要让控件同步变宽变高,最常见的入口就是 GuiSize 标签。

下面这个例子只保留一个 ListView,便于看清楚最小套路:窗口大小变化时,读取 A_GuiWidthA_GuiHeight,再用 GuiControl, Move 重新设置控件宽高。

这个例子能学到什么

  • Gui +Resize 只是允许窗口缩放,不负责控件布局。
  • GuiSize 会在窗口大小变化时触发,适合写自适应布局。
  • A_EventInfo = 1 表示窗口最小化,通常直接返回即可。
  • 控件边距可以用固定数值扣掉,例如这里左右各留 20 像素。
Gui +Resize
Gui, Add, ListView, x20 y20 vMyLV, Name|Modified
Gui, Show, w400 h300 , test
return

GuiSize:  ; 扩展/缩小 LV 和 TV 以响应用户调整窗口大小。
if (A_EventInfo = 1)  ; 窗口已最小化。无需采取任何行动。
  return
GuiControl, Move, MyLV, % "H" . (A_GuiHeight - 40) "W" . (A_Guiwidth - 40)
return

GuiClose: 
  ExitApp

 

站内延伸

声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。