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

通讯编程

开发平台:

Visual C++

  1. # button.tcl --
  2. #
  3. # This demonstration script creates a toplevel window containing
  4. # several button widgets.
  5. #
  6. # RCS: @(#) $Id: button.tcl,v 1.2.26.2 2007/05/30 13:24:01 das Exp $
  7. if {![info exists widgetDemo]} {
  8.     error "This script should be run from the "widget" demo."
  9. }
  10. set w .button
  11. catch {destroy $w}
  12. toplevel $w
  13. wm title $w "Button Demonstration"
  14. wm iconname $w "button"
  15. positionWindow $w
  16. label $w.msg -font $font -wraplength 4i -justify left -text "If you click on any of the four buttons below, the background of the button area will change to the color indicated in the button.  You can press Tab to move among the buttons, then press Space to invoke the current button."
  17. pack $w.msg -side top
  18. frame $w.buttons
  19. pack $w.buttons -side bottom -fill x -pady 2m
  20. button $w.buttons.dismiss -text Dismiss -command "destroy $w"
  21. button $w.buttons.code -text "See Code" -command "showCode $w"
  22. pack $w.buttons.dismiss $w.buttons.code -side left -expand 1
  23. proc colorrefresh {w col} {
  24.     $w configure -bg $col
  25.     $w.buttons configure -bg $col
  26.     if {[tk windowingsystem] eq "aqua"} {
  27. # set highlightbackground of all buttons in $w
  28. set l [list $w]
  29. while {[llength $l]} {
  30.     set l [concat [lrange $l 1 end] [winfo children [set b [lindex $l 0]]]]
  31.     if {[winfo class $b] eq "Button"} {
  32. $b configure -highlightbackground $col
  33.     }
  34. }
  35.     }
  36. }
  37. button $w.b1 -text "Peach Puff" -width 10 
  38.     -command [list colorrefresh $w PeachPuff1]
  39. button $w.b2 -text "Light Blue" -width 10 
  40.     -command [list colorrefresh $w LightBlue1]
  41. button $w.b3 -text "Sea Green" -width 10 
  42.     -command [list colorrefresh $w SeaGreen2]
  43. button $w.b4 -text "Yellow" -width 10 
  44.     -command [list colorrefresh $w Yellow1]
  45. pack $w.b1 $w.b2 $w.b3 $w.b4 -side top -expand yes -pady 2