clrpick.tcl
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:2k
- # clrpick.tcl --
- #
- # This demonstration script prompts the user to select a color.
- #
- # RCS: @(#) $Id: clrpick.tcl,v 1.3 2001/06/14 10:56:58 dkf Exp $
- if {![info exists widgetDemo]} {
- error "This script should be run from the "widget" demo."
- }
- set w .clrpick
- catch {destroy $w}
- toplevel $w
- wm title $w "Color Selection Dialog"
- wm iconname $w "colors"
- positionWindow $w
- label $w.msg -font $font -wraplength 4i -justify left -text "Press the buttons below to choose the foreground and background colors for the widgets in this window."
- pack $w.msg -side top
- frame $w.buttons
- pack $w.buttons -side bottom -fill x -pady 2m
- button $w.buttons.dismiss -text Dismiss -command "destroy $w"
- button $w.buttons.code -text "See Code" -command "showCode $w"
- pack $w.buttons.dismiss $w.buttons.code -side left -expand 1
- button $w.back -text "Set background color ..."
- -command
- "setColor $w $w.back background {-background -highlightbackground}"
- button $w.fore -text "Set foreground color ..."
- -command
- "setColor $w $w.back foreground -foreground"
- pack $w.back $w.fore -side top -anchor c -pady 2m
- proc setColor {w button name options} {
- grab $w
- set initialColor [$button cget -$name]
- set color [tk_chooseColor -title "Choose a $name color" -parent $w
- -initialcolor $initialColor]
- if {[string compare $color ""]} {
- setColor_helper $w $options $color
- }
- grab release $w
- }
- proc setColor_helper {w options color} {
- foreach option $options {
- catch {
- $w config $option $color
- }
- }
- foreach child [winfo children $w] {
- setColor_helper $child $options $color
- }
- }