Provided by: manpages-zh_1.5.2-1.1_all bug

NAME

       MainFrame - 管理带有菜单、工具条和状态条的顶层窗口

创建 CREATION

       MainFrame pathName ?option value...?

描述 DESCRIPTION

       MainFrame 管理的顶层窗口有:

       * 建立带有自动快捷键绑定和动态帮助关联的简单菜单,

       * 用户可以隐藏的一个或多个工具条,

       * 显示用户消息或菜单描述的一个状态条,和可选的一个进度条。

组件特有选项 WIDGET-SPECIFIC OPTIONS

       -height
              以 Tk_GetPixels 可接受的任何形式为用户框架指定想要的高度。如果这个选项小于等于零(缺
              省)则对这个窗口根本不要求任何大小。

       -menu (read-only)
              这个选项描述菜单。它是一个列表,每五个元素描述一个级联菜单。它有下列格式:   {菜单名
              标签(tag)列表 菜单Id 撕开项 菜单项...} 这里的菜单项是一个列表,其中每个元素描述一个
              菜单项,它们可以是:

              一个分隔符: {separator}

              一个命令: {command 菜单名 ?标签列表? ?描述? ?快捷键? ?选项值? ...}

              复选按钮: {checkbutton 菜单名 ?标签列表? ?描述? ?快捷键? ?选项值? ...}

              单选按钮: {radiobutton 菜单名 ?标签列表? ?描述? ?快捷键? ?选项值? ...}

              一个级联菜单: {cascad 菜单名 ?标签列表? 菜单Id 撕开项 菜单项}

              这里的:

              如果菜单名包含一个 &, 则把随后的字符自动的转换成 menu add 命令的相应的选项。

              标签列表是这个条目的所有标签的列表,用于使用 MainFrame::setmenustate 来启用或停用菜
              单条目。

              菜单Id 是给这个菜单的 id,你可以用 MainFrame::getmenu 来从它得到菜单路径名。

              撕开项指定菜单是否有撕开条目。

              描述为动态帮助指定字符串。

              快捷键指定一个击键序列。它是两个元素的一个列表,其中的第一个元素是   Ctrl、Alt   或
              CtrlAlt  之一,而第二个元素是一个字母或数字。建造一个快捷键字符串并在顶层窗口上设置
              相应的绑定来调用菜单项。

              选项值为这个条目指定补充选项(参见 menu add 命令)。

              被 ? 包围的每个值都是可选的并且缺省为空串,但是如果下列选项是非空则必须提供值。

       -separator (只读)
               指定是否把分隔线画在用户窗口的顶部和/或底部。必须是值 none、top、bottom 或 both 之
              一。 它依赖于用户窗口的子组件的面型(relief)。

       -textvariable
              为状态条的标签指定 textvariable 选项。在这个 MainFrame 的建立的时候把菜单条目的动态
              帮助描述映射到这个变量。如果用  MainFrame::configure 变更了这个变量,菜单描述将不可
              获得。你可以通过修改这个变量的值来变更这个标签的文字。

       -width 以 Tk_GetPixels 可接受的任何形式为用户框架指定想要的宽度。如果这个选项小于等于零(缺
              省)则对这个窗口根本不要求任何大小。

范例

       set descmenu {
           "&File" {} {} 0 {
               {command "&New"     {} "建立一个新文档"     {Ctrl n} -command Menu::new}
               {command "&Open..." {} "打开一个现存文件" {Ctrl o} -command Menu::open}
               {command "&Save"    open "保存这个文档" {Ctrl s} -command Menu::save}
               {cascad  "&Export"  {} export 0 {
                   {command "Format &1" open "导出文档为格式 1" {} -command {Menu::export 1}}
                   {command "Format &2" open "导出文档为 2" {} -command {Menu::export 2}}
               }}
               {separator}
               {cascad "&Recent files" {} recent 0 {}}
               {separator}
               {command "E&xit" {} "退出应用程序" {} -command Menu::exit}
           }
           "&Options" {} {} 0 {
               {checkbutton "Toolbar" {} "显示/隐藏工具栏" {}
                   -variable Menu::_drawtoolbar
                   -command  {$Menu::_mainframe showtoolbar toolbar $Menu::_drawtoolbar}
               }
           }
       }

组件命令

       pathName addindicator ?arg...?
              在状态条的右端增加一个指示器(indicator)框。从左到右增加每个指示器。指示器是用
              ?arg...? 给出的选项-值配置的一个 Tk 标签(label)组件。-relief 和 -borderwidth 选项分
              别缺省为 sunken(凹陷) 和 1。返回建立的标签的路径名。

       pathName addtoolbar
              向 MainFrame 添加一个工具条。返回在其中放置工具条的那个新窗口的路径名。

       pathName cget option
              返回用 option 给出的配置选项的当前值。Option 可以是能被建立命令接受的任何值。

       pathName configure ?option? ?value option value ...?
              查询或修改这个组件的配置选项。如果未指定  option ,则返回描述 pathName 的所有可获得
              的选项的一个列表。如果指定了不带  value   的   option,则这个命令返回描述这个指名的
              option 的一个列表(这个列表与未指定 option 所返回的值的相应的子集是一样的)。如果指定
              了一个或多个选项-值  对,则这个命令把给定的组件选项修改为给定的值;在这种情况下这个
              命令返回一个空串。Option 可以是能被建立命令接受的任何值。只读选项不可修改。

       pathName getframe
              返回用户窗口的路径名。

       pathName getindicator index
              返回第 index 次增加的指示器。

       pathName getmenu menuid
              返回 id 是 menuid 的菜单的路径名。

       pathName gettoolbar index
              返回第 index 次增加的工具条的路径名。

       pathName setmenustate tag state
              把有标签 tag 的所有菜单项的 -state 选项的值设置成 state。

       pathName showstatusbar name
              name  是 none、status 或 progression 之一。使用 none 来隐藏状态条,用 status 来只显
              示标签(label),或用 progression 来显示标签和进度条。

       pathName showtoolbar index bool
              如果 bool 是 0 则隐藏第 index 次增加的工具条,如果 bool 是 1 则显示第 index  次增加
              的工具条。要防止你的顶层窗口在隐藏/显示工具条期间调整大小,在操纵(manage)它的时候做
              [wm geometry $top [wm geometry $top]] 。

[中文版维护人]

       寒蝉退士

[中文版最新更新]

       2001/05/06

《中国 Linux 论坛 man 手册页翻译计划》:

       http://cmpp.linuxforum.net

                                         tcllib - BWidget                          MainFrame(3tk)