iup.GetParam在LUA中的使用:通过回调函数进行数据验证。

LUA 初学者,使用 iup.GetParam 进行 GUI 实验,使用 LUA 5.1.

我使用了 iup.GetParam 进行了一个简单的实验(在检测 OK 和 Cancel 的简单回调函数中工作得很好),现在尝试为参数添加一些简单的数据验证(例如,检查一个参数是否为字母数字),但我不确定正确的方法。

我已经搜索了参考手册(和代码示例),但目前还没有结果。

  1. 如果我想拒绝用户输入的字符并显示参数的旧值,我该怎么做呢?我只需要从回调函数中返回 0 吗,还是在返回之前还必须将参数的值重置为其先前的值?或者正确的方法完全不同?
  2. 在任一情况下,我是否需要使用单独的 iup 调用 "刷新"/ "更新" GUI 显示,或者 GetParam 是否替我处理?

无论我尝试什么组合,似乎都不起作用(参数仍然愉快地显示非字母数字)。调试显示验证测试和返回按编码工作,因此我需要的建议是确认正确的方法。共享一个简单的可行示例将是很棒的。

点赞
用户1898478
用户1898478
  1. 只需返回 0

  2. 不需要,此情况下 IUP 会为你处理一切。

从示例文件夹下载“getparam.wlua”,然后将以下代码添加到其回调中:

  elseif (param_index == 1) then
    return 0

你会注意到整数值现在是只读的。

2014-05-02 17:12:06