在 Maxscript 中按下聚焦按钮

Press a focused button in Maxscript

我想尽可能使用标准按钮在 Maxscript 中按下聚焦按钮。我认为这可以使用 .NET 按钮轻松完成,但我只是好奇是否可以使用标准 MaxScript 按钮控件按下聚焦按钮。

这是我的代码,它使按钮获得焦点,但即使按钮获得焦点,按钮事件处理程序也能正常工作。我认为这是因为它只是一个鼠标点击事件。

try destroyDialog testRol catch()
rollout testRol "testRol" (

  button btn_yes "Y̲es" width:120 across:2
  button btn_no "N̲o" width:120

  on btn_yes pressed do destroyDialog testRol
  on btn_no pressed do print "Oh no.."

  on testRol open do setFocus btn_yes

  )
createDialog testRol 525 45
OK

如果你想按下 mxs 按钮,使用它的句柄:

on testRol open do UIAccessor.PressButton btn_yes.hWnd[1]

如果你想按下焦点按钮,获取它的句柄并以同样的方式使用它:

on testRol open do
(
    local user32 = (python.import "ctypes").windll.user32
    setFocus btn_yes
    UIAccessor.PressButton (user32.GetFocus())
)