Tcl/Tk 烹调书 - Tk 基础


第 4 步: 建立绑定来把配置选项修改成新值

脚本

现在你需要写过程 reJig,下面给出脚本:


proc reJig { w a} {
	 global aList vList
	 ;# get the index of a in aList
	 set idx [lsearch $aList $a]
	 set va [.rc.fff.sub$idx.ent get]
	 .rc.b config $a $va
	}

proc 命令建立 Tcl 过程 reJig。给 reJig 的第一个参数是一个组件名、第二个参数是一个字符串(在这个实例中是配置选项)。在花括号中的语句是过程体。 ;# 指示在它和换行符之间的包含的字符串是一个注释。

  1. 在过程体的第一行声明在过程 reJig 中使用的全局变量。
  2. 当前配置选项在 aList 中的索引被 lsearch 访问出来并赋给"idx"。
  3. 读 .rc.fff.sub$idx 的子录入组件".ent"中的值并赋给变量 "va"。
  4. 调用组件命令 .rc.b 来完成动作 "configure",配置选项 "a" 的值是 "va"。

下面的屏幕复制展示了在对应 -bg 的录入组件中键入 Red 的结果。