对话框 - sk_del_window[1] 被点击
本帖最后由 yeeboys 于 2014-11-28 19:35 编辑事件
对话框 - sk_del_window 被点击
对话框 - sk_del_window 被点击
....................
.................... 对话框 - sk_del_window 被点击
动作
自定义代码: local integer p=【被点击的 对话框n=?】
//=========================================
我要做的是对话框 - sk_del_window 被点击时p=1
我要做的是对话框 - sk_del_window 被点击时p=2
.........................
我要做的是对话框 - sk_del_window 被点击时p=n
//========================================
要用哈希表吗,要具体点,我不知道用什么当 主和子目录
没明白……能说清楚一点吗 希瓦 发表于 2014-11-28 18:26
没明白……能说清楚一点吗
我改了,你看看 不需要哈希表吧,可以直接用循环来查找。
local integer p = 1
loop
exitwhen p > udg_n
exitwhen udg_sk_del_window == GetClickedDialog()
set p = p + 1
endloop
就是循环对比被点击的对话框和数组中的对话框,如果相同就找到了。 希瓦 发表于 2014-11-28 20:58
不需要哈希表吧,可以直接用循环来查找。
local integer p = 1
loop
当n=100时,就会有点卡吧,还是绑定比较好,要怎么绑定 yeeboys 发表于 2014-11-29 00:38
当n=100时,就会有点卡吧,还是绑定比较好,要怎么绑定
哈希表也是循环查找,当然具体要看哈希表的实现方式
n才等于100这么小不会卡的 100的数量离“卡”还早着呢。
不过如果一定要用哈希表,可以在创建的时候储存序号,被点击的时候读取序号。
// 储存序号
call SaveInteger(udg_hashtable, GetHandleId(sk_del_window(n)), StringHash("index"), n)
// 主索引和子索引只要有一个填对话框的handle id就可以了
// 一般为了避免冲突,使用handleid作为主索引,随便一个什么值做子索引,储存对话框的序号
// 读取序号
LoadInteger(udg_hashtable, GetHandleId(GetClickedDialog()), StringHash("index"))
// 使用相同的索引读取就可以了 希瓦 发表于 2014-11-29 11:35
100的数量离“卡”还早着呢。
不过如果一定要用哈希表,可以在创建的时候储存序号,被点击的时候读取序 ...
循环匹配的办法,本来要100次的,加了几个条件,只要做15次了
页:
[1]