现在的位置: 首页 >> 多媒体 >> Director >> 如何在文本框中限制输入
添加时间:2005-10-29 来源:网教中国 作者: unknown
如何在文本框中限制输入

如何在文本框中限制输入
   大家是如何对文本输入实现限制的呢?这里介绍一下用keydown句柄和pass指令实现的方法。

首先,让我们看看如何完全屏蔽和完全不屏蔽字符输入。

   如果在某个可编辑文本精灵上加入下面这段代码,然后运行,那么在文本框内我们将不能输入任何字符:

on keydown me
nothing
end


   如果在某个可编辑文本精灵上加入下面这段代码,然后运行,那么在文本框内我们将可以输入任何字符:

on keydown me
pass
end

再让我们了解一下keydown句柄和pass指令的作用过程。

on keydown ( me ):是我们在键盘按键所出发的事件,对于含有keydown 的精灵行为脚本、演员脚本和电影脚本,截获执行这个事件的先后顺序是:精灵行为脚本 -->演员脚本-->电影脚本。

   pass:这个指令使我们可以告诉特定的程序代码,在截获某个系统事件后将这个事件继续下传,以让优先等级次级的程序获取执行事件。如在上面的第二代码中pass使得精灵行为将keydown事件继续下传,结果是文本域接受输入字符并显示在文本精灵中。

   对于文本域来说,获取按键输入的优先权高于电影脚本,但低于精灵行为以及演员脚本。

下面是几个限制输入的例子。

   屏蔽回车键 --精灵行为。
on keydown me
if the key =   return then
nothing --屏蔽“阻断”keydown事件!
else
pass --继续下传keydown事件!
end if
end

   屏蔽f键 --精灵行为

on keydown me
if the key =   "f" then
nothing --屏蔽“阻断”keydown事件!
else
pass --继续下传keydown事件!
end if
end

另外,这里提供一个屏蔽字符串的行为供大家参考。如下,只能输入a-z,1-9和-。

property spriteNum , letters
on keyDown me
if (letters contains the key ) then
pass
else
beep
end if
end
on getPropertyDescriptionList me
     p_list = [ # letters : [ # format : #string , # default : "abcdefghijklmnopqrstuvwxyz1234567890-" , # comment : "Allowed characters:" ]]
return p_list
end
上一篇:Director中事件发生的顺序及其意义 下一篇:Director MX 2004中MIAW使用心得
大部分文章摘自网上,如有侵犯您的权益请与我们联系,我们会第一时间进行处理,谢谢! [ 打印文章 ] [ 关闭窗口 ]
推荐文章
 
相关文章
 
最新文章
·发布Director MX 2004
·DirectMedia Xtra 在 Director
·Speech Xtra 应用(Director MX
·谈谈Director作品的发布模式
·关于多媒体程序运行速度的研究
·Director MX 2004教程--哪些人适
·Director MX 2004教程--常用多媒
·Director MX 2004教程--为什么选
·Director MX 2004教程--Director
·Director MX 2004教程--Director
Google