【问题标题】:Autohotkey, how to display a MsgBox that could cover the hole screenAutohotkey,如何显示一个可以覆盖孔屏的 MsgBox
【发布时间】:2017-10-14 05:35:11
【问题描述】:

我有很多变量,我想在单个 msgbox 中显示它的值,我考虑将它们放在列中以便它们可以适应,因为否则屏幕高度不足以显示它们,我的子程序会做一些事情像这样……

/::
Msgbox, varColummOne = %varColummOne% `tvarColummTwo = %varColummTwo%... `tnvarColummEight = %varColummEight%
. varColummOne = %varColummOne% `tvarColummTwo = %varColummTwo%... `tnvarColummEight = %varColummEight%
. varColummOne = %varColummOne% `tvarColummTwo = %varColummTwo%... `tnvarColummEight = %varColummEight%
. varColummOne = %varColummOne% `tvarColummTwo = %varColummTwo%... `tnvarColummEight = %varColummEight%

所以大概有 34 行 8 列,这就是为什么我希望 msgbox 的宽度与屏幕的宽度相同。但是我注意到Msgbox的宽度有一定的像素限制。我怎么能克服它???任何解决方法?也许是一个gui? AHK专家可以举个例子吗???谢谢先进。

【问题讨论】:

    标签: autohotkey


    【解决方案1】:

    这会在按下 / 时切换 ListView 窗口

    /::
      global show := !show
    
      if !show
        Gui Alpha:Destroy
      else {
        Gui Alpha:New,,Debug
        Gui Add, ListView, r20 w700 -Hdr, 1|1|1|1|1|1|1
        LV_Add("", "row1col1", "row1col2", "row1col3", "row1col4", "row1col5")
        LV_Add("", "row2col1", "",         "row2col3", "row2col4", "row2col5")
        LV_ModifyCol()
        Gui show
      }
      return
    

    截图

    备注

    • LV_ModifyCol() 自动调整列的大小
    • Gui Add 中的 -Hdr 选项抑制标题行
    • Alpha: 命名窗口,以便 Gui Destroy 知道要销毁什么

    【讨论】:

      【解决方案2】:

      工具提示似乎没有这个限制。

      这会在按下 / 时切换调试屏幕

      var1=100
      var2=101
      var3=102
      var4=103
      /::
        show := !show
        ToolTip % show
          ?   "var1=" . var1 . "`tvar2=" . var2 . "`tvar3=" . var3 . "`tvar4=" . var4
          . "`nvar1=" . var1 . "`tvar2=" . var2 . "`tvar3=" . var3 . "`tvar4=" . var4
          . "`nvar1=" . var1 . "`tvar2=" . var2 . "`tvar3=" . var3 . "`tvar4=" . var4 : ""
        return
      

      截图:

      【讨论】:

      • 我意识到使用制表符作为分隔符看起来很不整洁,因为有时值是空的,然后列失去了边距,是否可以使用 GUI 显示 8 列 n 15 行的表格?谢谢先进。
      • 以前看过AHK的手册,但是ListView的手册太大了,能不能举个例子???谢谢先进。
      • 我发布了另一个使用 ListView 的答案
      • 请 jimU 告诉我,它工作得很好,但是如果我只想添加一些变量而不是在所有列之前的列中,这可能吗?谢谢先进。
      • 只需要在ListView前添加Text控件到对话框
      猜你喜欢
      • 1970-01-01
      • 2012-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多