如何将一个GUI链接到一个窗口,使其与父窗口相同



我想链接一个GUI到某个窗口,所以它可以像它的一部分。

这是我的GUI,我希望它遵循计算器(用于测试)。如果计算器被最小化,那么gui也会被最小化。

提前感谢!

#SingleInstance Force
#Persistent
BC = 0
Gui, Color, EEAA99
Gui, Margin , 0, 0
GUI, +AlwaysOnTop -Border -SysMenu -Caption +ToolWindow +Owner
Gui, Font, S48 CDefault Bold CBlue, Verdana
Gui, Add, Text, BackgroundTrans , Units completed:
Gui, Font, S72 CDefault Bold CGreen, Verdana
Gui, Add, Text, BackgroundTrans vBuildCounter, %BC%
WinSet, TransColor, EEAA99
Gui +LastFound +AlwaysOnTop +ToolWindow
WinSet, TransColor, EEAA99
Gui -Caption
Gui, Show, % "x" A_ScreenWidth - 400 " y" A_ScreenHeight / 4
:?*:asd:: ;count up
    SoundBeep, 500,500
    BC := BC += 1
    GuiControl,, BuildCounter, %BC%
Return
:?*:qwe:: ;reset the counter
    SoundBeep, 500,500
    BC := 0
    GuiControl,, BuildCounter, %BC%
Return
Esc::
ExitApp

我最终得到了两个脚本。也许以后可以合并。

一个脚本用于工具菜单,第二个脚本用于激活。由于我无法控制GUI,从激活脚本中显示/隐藏,我通过使用Ctrl+Alt+Win+F1Ctrl+Alt+Win+F2来"解决"它。这不是最优雅的方式,但它有效…

<标题> ToolMenu.ahk h1> DetectWindowChange.ahk h1>

你可以(据我所知)只使用settimer。

伪代码,未经测试!

SetTitleMatchMode := 2
SetTimer, CheckWindow, 200
CheckWindow:
    If WinActive("Calculator")
    {
       Gui, Show, % "x" A_ScreenWidth - 400 " y" A_ScreenHeight / 4, Popup
    }
    Else If !WinActive("Popup")
    {
        Gui, Hide
    }
Return

编辑:添加了一个条件,以避免隐藏弹出框,如果它是激活的

相关内容

  • 没有找到相关文章

最新更新