labelframe.tcl
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:2k
源码类别:

通讯编程

开发平台:

Visual C++

  1. # labelframe.tcl --
  2. #
  3. # This demonstration script creates a toplevel window containing
  4. # several labelframe widgets.
  5. #
  6. # RCS: @(#) $Id: labelframe.tcl,v 1.2 2001/10/30 11:21:50 dkf Exp $
  7. if {![info exists widgetDemo]} {
  8.     error "This script should be run from the "widget" demo."
  9. }
  10. set w .labelframe
  11. catch {destroy $w}
  12. toplevel $w
  13. wm title $w "Labelframe Demonstration"
  14. wm iconname $w "labelframe"
  15. positionWindow $w
  16. # Some information
  17. label $w.msg -font $font -wraplength 4i -justify left -text "Labelframes are
  18. used to group related widgets together.  The label may be either 
  19. plain text or another widget."
  20. pack $w.msg -side top
  21. # The bottom buttons
  22. frame $w.buttons
  23. pack $w.buttons -side bottom -fill x -pady 2m
  24. button $w.buttons.dismiss -text Dismiss -command "destroy $w" -width 15
  25. button $w.buttons.code -text "See Code" -command "showCode $w" -width 15
  26. pack $w.buttons.dismiss $w.buttons.code -side left -expand 1
  27. # Demo area
  28. frame $w.f
  29. pack $w.f -side bottom -fill both -expand 1
  30. set w $w.f
  31. # A group of radiobuttons in a labelframe
  32. labelframe $w.f -text "Value" -padx 2 -pady 2
  33. grid $w.f -row 0 -column 0 -pady 2m -padx 2m
  34. foreach value {1 2 3 4} {
  35.     radiobutton $w.f.b$value -text "This is value $value" 
  36.             -variable lfdummy -value $value
  37.     pack $w.f.b$value -side top -fill x -pady 2
  38. }
  39. # Using a label window to control a group of options.
  40. proc lfEnableButtons {w} {
  41.     foreach child [winfo children $w] {
  42.         if {$child == "$w.cb"} continue
  43.         if {$::lfdummy2} {
  44.             $child configure -state normal
  45.         } else {
  46.             $child configure -state disabled
  47.         }
  48.     }
  49. }
  50. labelframe $w.f2 -pady 2 -padx 2
  51. checkbutton $w.f2.cb -text "Use this option." -variable lfdummy2 
  52.         -command "lfEnableButtons $w.f2" -padx 0
  53. $w.f2 configure -labelwidget $w.f2.cb
  54. grid $w.f2 -row 0 -column 1 -pady 2m -padx 2m
  55. set t 0
  56. foreach str {Option1 Option2 Option3} {
  57.     checkbutton $w.f2.b$t -text $str
  58.     pack $w.f2.b$t -side top -fill x -pady 2
  59.     incr t
  60. }
  61. lfEnableButtons $w.f2
  62. grid columnconfigure $w {0 1} -weight 1