在 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())
)
我想尽可能使用标准按钮在 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())
)