|
发表于 2021-1-13 12:40:16
|
显示全部楼层
本帖最后由 bestkakkoii 于 2021-1-13 12:45 编辑
大大是否可以请教一下:
我做了一个脚本系统 使用表格显示脚本内容,脚本运行到哪一行焦点就锁定在哪一行 ,
并且使用WM_VSCROLL配合参数SB_UP & SB_DOWN以 循环变量 i 为基准 控制其往上往下,
是否有什么更好的方法可以让表格焦点永远保持在画面中间?
我现在用的这种方式如果是 遇倒退行的命令 第一个表格焦点跟不上脚本运行的位置、第二个滚动条 会一直往下滚
- function readScript(content)
- var od
- var size = strsplit(content, "\r\n", od)
- var k = 0
- if(size > 0)
- for(var i = 0; i < size; i++)
- staticsettext("static19", strformat("正在運行行數: %s/%s", i, size))
- gridsetselectrange("scriptgrid", i, 0, i, 2)
- k++
- if(k > 2)
- windowpostmessage(controlgethandle("scriptgrid"), 277, 1, 0)
- k = 0
- end
- var combat = readint("combat")
- if(combat[0] == 0 || combat[1] == 0)
- if(od[i] != "")
- od[i] = strtrim(od[i])
- var param
- var size2 = strsplit(od[i], " ", param)
- var pm
- var line = ScriptFunction(param[0], param[1], size, i)
- if(line > 0)
- i = i + line - 1
- for(var j = 0; j < line + 1; j++)
- windowpostmessage(controlgethandle("scriptgrid"), 277, 1, 0)
- end
- elseif(line < 0)
- i = i + line - 1
- for(var j = 0; j < mabs(line) + 1; j++)
- windowpostmessage(controlgethandle("scriptgrid"), 277, 0, 0)
- end
- end
- end
- else
- i = i - 1
- windowpostmessage(controlgethandle("scriptgrid"), 277, 0, 0)
- end
- sleep(200, false)
- end
- else
- return false
- end
- end
复制代码
|
|