为什么 ChooseMenuItem 有时不起作用?

问题描述 投票:0回答:1

根据dm-script手册,使用ChooseMenuItem来模拟相应菜单的点击。我已经尝试了如下这 3 个命令,但只有第一个可以工作。这是由于该命令的错误使用还是某些限制?

ChooseMenuItem("Help","User Mode","Power User")
ChooseMenuItem("Window","Floating Windows","Output")
ChooseMenuItem("Process","","FFT")
user-interface command dm-script
1个回答
0
投票

该命令并不“真正”模拟单击,而是尝试查找相应的菜单条目并调用关联的函数。 但是,该命令的功能是有限制的。 (特别是自 GMS 3.x 以来,它对 UI 进行了彻底修改,更改了一些菜单。) 话虽如此,我刚刚在我的机器上测试了上面的三个命令。

  • ChooseMenuItem( "Help" , "User Mode" , "Regular" ) // or "Power User" or "Service"

    正常工作。

  • ChooseMenuItem( "Window" , "Floating Windows" , "Output" )

    不起作用。我认为这是行不通的,因为
    GMS 3.6 改变了 UI 的方式。
    但其实也没有必要,因为你可以直接使用:
    OpenOutputWindow()
    
    

  • ChooseMenuItem("Process","","FFT")

    有效,但您必须小心:只有当合适的图像窗口位于最前面时,菜单项才可用(不灰显)。由于脚本窗口位于最前面,该命令不可用,因此脚本失败。如果您从脚本编辑器窗口运行脚本,您可能想要执行如下操作:

  • GetFrontImage().SelectImage() ChooseMenuItem("Process","","FFT")
一般来说,我建议在大多数情况下不要使用
ChooseMenuItem()

,特别是当可以直接访问相应的功能时。

    

© www.soinside.com 2019 - 2024. All rights reserved.