- ·上一篇文章:wbat教程第二部分:设置--为你自己的wbat程序做好准备
- ·下一篇文章:wbat教程第四部分:命令--批处理文件的指令明细
- ·百度中搜索更多的关于“wbat教程第三部分:布局--对话框、菜单、文本的布局设计”相关内容
- ·谷歌中搜索更多的关于“wbat教程第三部分:布局--对话框、菜单、文本的布局设计”相关内容
- ******申明******
- 本站文章内容有部分为收录网络中其他网友内容,DOS资源站不保证所有的代码都适合你使用。
- 由于编辑匆忙,有可能造成某些脚本文件出现丢失代码或代码无法运行的情况,请网友根据情况自行修改。
- 如果能将出错部分反馈给我,那就更好了。
wbat教程第三部分:布局--对话框、菜单、文本的布局设计
<一般信息>
一个布局可以自成一个文件,也可以跟其他的布局单元合在一起。每个
布局都用“标签”作为标识。
标签以一个冒号为前导符,标签名没有字长限制。
布局是一个纯 ASCII 本文。用方括号[]括起来的对话框的控件可以被
放置在布局中的任何地方。那么一个布局以什么标志结束呢?答案是当遇到
以冒号开头的行。(注意:必须是冒号,而不能是空格。)
布局总是产生一个矩形的区域, 这个矩形的大小取决于最长的行和行的
数目。对话框将加在一个框架(由上下左右各一条线组成)上。如果你想要
更多的空间,请用空格和空行填充。
注意:为防止你的编辑器将一行后面的空白字段截去,可用字符“^”来标
记行的结束(不要担心,符号“^”不会显示出来)。
<布局中的变量>
程序运行时,布局中的变量(被%符号括起)会被替代,就跟批处理一
样。然而在控件中请不要使用变量(如:按钮)。
现在教你一招,我们可以限制变量的长度。看一个例子:
在布局中:%var%___ 此时变量的字符长度就被限制为8位(其中
下划线占了三位)。
所有资料及WBAT工具可以在本站下载 地址:http://cmdos.net/soft/sort017/down-613.html
在程序文件中:set var=superhero
在输出中:输出superher,少了一个o,原因是变量长度被限制了。
(如果字符串长度不足8位,那么将会用空格填满。)
<布局风格>
WBAT从WBAT.INI文件里读取颜色和其他的设定。你可以创建你最喜欢的设置,并将它用于你的所的对话框和其他的WBAT输出。
当然,正如之前所提到的,你也可以用变量来临时改写INI文件中的所有设置(变量名=W项目名)。例如:
SET Wbutton=black on +cyan
SET WrightESC=0
SET Wradiosymbol=254
(注意:对话框颜色也可以在box/menu/list指令中指定。)
<对话框的框架>
你可以在INI文件中为对话框框架定义一个不同的图案,比如说这样:
BoxFrame="|-|| ||_|"
中央的字符应该是空白,因为它将填充对话框。不过用上面的效果不好,你可以这样:
BoxFrame="谀砍 忱馁"
所有资料及WBAT工具可以在本站下载 地址:http://cmdos.net/soft/sort017/down-613.html
<对话框阴影>
我们可以在ini文件中设置对话框阴影的颜色,修改“Shadow=+black”可以为“Shadow”设置一个可识别的颜色。如果要关掉阴影, 请设置“shadow=NONE”。
<对话框标题>
对话框标题可在布局单元中标签所在行中指定(必须用双引号括起来)。
例如,在布局单元中有标签“:label”和对话框标题“Title”:
:label "Title"
……
标题将位于对话框的中间。颜色由INI文件里的BoxTitle项指定。
<对话框的高亮文本>
要高亮显示一个单词或文本段,可在单词或文本段的开始和结束处加符号“~”(但在控件中无法实现该功能)。高亮文本的颜色由INI里的BoxHi定义。
<特别的ESC按钮>
如果你希望在对话框的右上角有Windows风格[x]按钮,请将它加入到布局文件的标签行里。
例如:
:label [x]
……
其中方括号“[]”是不可缺少的,然而任何符号都可用来代替“x”。
注意:点一下[x]按钮有与按退出键相同的效果。
<布局中的控件>
所有的控件都被括在方括号[]里。方括号中的第一个字符决定控件的类
型:
[$ varname ] 输入栏
[!] 复选框
[.] 单选按钮
[? button ] 退出按钮
[ button ] (其他的)普通按钮或菜单条目
退出按钮看起来和任何其他的按钮一样("?" 问号不显示),但它触发
的是ESC键。
关于控件的详细情况我们已经在第一部分中讨论过,在此不再复述。
<热键>
我们可以改变ini文件中的“HotKey=”的值来修改热键的标记颜色。要
屏蔽热键功能,可设置“HotKey=NONE”。
按钮或菜单项目的第一个字符是默认的热键字符。在多个按钮的第一个
字符相同时,可标记其他的字符为热键字符。此时,只需在该字符前加个“
&”符号。例如:
对于按钮,有“[ continue ][ ca&ncel ]”,此时cancel按钮的热键变为n
。
注意:
热键字母也可以与ALT键组合使用。(当光标是在一个输入栏中的时候,可
以用“alt+热键字母”的方法达到在输入栏外按热键的效果。)
“&”符号也可用于快速对话框。
“&”符号也决定哪个词作为变量返回(见第五部分的第三节)
对于单独的按钮,热键可以被一个拖尾的“&”符号取消。例如:
[ button& ][ cancel]
由于button后有一个“&”,因此button键的热键被取消。
<文本输出>
默认情况下,文本将以基于屏幕当前的颜色显示。在WBAT.INI里没有默
认的文本颜色。
我们可以在输出文本前先清屏(修改整个窗口的颜色),然后再为文本
指定颜色。
例如:
@echo off
wbat box ok
wbat cls! text 2,4 (+brown on cyan)@hero.txt:hero
pause
<倒计时显示>
利用wbat你可以实现倒计时功能,并且倒计时可在对话框的任何位置显
示(但是不能在控件中显示, 该功能也不能用于快速对话框)。如何实现
呢?我们可以在布局中用记号“#?”标出倒计时的位置。
看一个例子:
在布局文件hero.txt中
:hero
#?
[ ok ] [cancel]
:
在程序中
@echo off
wbat box @hero.txt:hero #1,15
pause
程序中的“15”在运行时会传递给“#?”,使得对话框显示倒计时15秒。这
个对话框将在15秒之后关闭,并返回标记按钮的返回码。(注意:用户的任
何输入都会取消倒计时,此时计数会被“--”代替。)
<布局中的特别符号>
“[”用于标记按钮或其他控件,直到出现“]”为止。
“&”用于标记热键字符(只能在按钮里使用)。
“%”用于标记环境变量,和在批处理文件中一样。
“~”在文本显示的时候,用“~”括起来的那部分文本会高亮显示。
“#”标记文本的标题栏(只能用在最左一列)。
(万一你要在指定的地方使用上述的符号作为可见的字符,请双倍使用它们
。)
“#?”布局中的倒计时标记。
“^”标记一行的结束。
“:”作为标签的前导符,也标记了某布局单元的结束。(注意:冒号前不
能加别的字符,包括空格。)
“_”下划线为变量的输出保留空间(需要紧跟在变量的后面)。
所有资料及WBAT工具可以在本站下载 地址:http://cmdos.net/soft/sort017/down-613.html

