wozijisun 发表于 2014-11-23 00:00:29

GUISetOnEvent方法中设置的函数可以加参数吗?

GUISetOnEvent方法中设置的函数可以加参数吗?

例如:
GUICtrlSetOnEvent(-1, "OK")

func OK($1,$2,$3)
      .....
endfunc

这里的$1,$2,$3可以应用于事件函数中的OK吗?调用时,该怎么传递这三个参数?

user3000 发表于 2014-11-23 10:34:45

可以丢掉僵硬死板的思维.多多学习和参考示例或他人的源码吧.func OK()
   _OK($1, $2, $3)
endfunc

Func _OK($var1, $var2, $var3)
;...
EndFunc

seniors 发表于 2014-11-23 12:13:51

既然OnEvent,你的那些参数本来就应该来自于一些特定的情况,无需传参数的。
也就是说,你想传的这些参数应该在函数里面判断得到,而不应该先判断好了再传给函数。
另说明楼上的方法不是方法。

user3000 发表于 2014-11-23 12:58:04

既然OnEvent,你的那些参数本来就应该来自于一些特定的情况,无需传参数的。
也就是说,你想传的这些参数应 ...
seniors 发表于 2014-11-23 12:13 http://61.153.183.105/images/common/back.gif

说得有道理,是我想简单了.可能楼主要的是这样,先作变量的改动,然后再调用工作函数.
工作函数应该是要响应两个或以上的控件的,也就是多次反复使用到.Global $1, $2, $3
func OK()
        $1 = 0, $2 = 100, $3 = 300
   _OK()
endfunc

Func _OK()
;...
EndFunc

MicroBlue 发表于 2014-11-23 13:52:09

学习了,之前也有类似的疑问,楼上两位的对话很好,解惑!

seniors 发表于 2014-11-24 09:45:12

回复 4# user3000
Global $1, $2, $3
func OK()
    $1 = 该怎么得到就怎么得到, $2 = ..., $3 = ...
        ;直接做要做的事
endfunc

austere 发表于 2014-12-12 13:25:50

回复 1# wozijisun


    很明显你这样调用肯定不行.... 不过也不好说,其他是()内的参数你要提前获得~

vigiles 发表于 2014-12-31 22:31:46

可以尝试在函数中使用 @GUI_CtrlId、@GUI_WinHandle 等宏命令获取一些参数,判断宏命令值然后使用自定义的数据

h20040606 发表于 2015-1-20 05:52:49

#2的方法很好。
页: [1]
查看完整版本: GUISetOnEvent方法中设置的函数可以加参数吗?