| 1 | # mkListbox3 w |
| 2 | # |
| 3 | # Create a top-level window containing a listbox with a bunch of well-known |
| 4 | # sayings. The listbox can be scrolled or scanned in two dimensions. |
| 5 | # |
| 6 | # Arguments: |
| 7 | # w - Name to use for new top-level window. |
| 8 | |
| 9 | proc mkListbox3 {{w .l3}} { |
| 10 | catch {destroy $w} |
| 11 | toplevel $w |
| 12 | dpos $w |
| 13 | wm title $w "Listbox Demonstration (well-known sayings)" |
| 14 | wm iconname $w "Listbox" |
| 15 | message $w.msg -font -Adobe-times-medium-r-normal--*-180* -aspect 300 \ |
| 16 | -text "The listbox below contains a collection of well-known sayings. You can scan the list using either of the scrollbars or by dragging in the listbox window with button 2 pressed. Click the \"OK\" button when you're done." |
| 17 | frame $w.frame -borderwidth 10 |
| 18 | pack append $w.frame \ |
| 19 | [scrollbar $w.frame.yscroll -relief sunken \ |
| 20 | -command "$w.frame.list yview"] {right filly} \ |
| 21 | [scrollbar $w.frame.xscroll -relief sunken -orient horizontal \ |
| 22 | -command "$w.frame.list xview"] {bottom fillx} \ |
| 23 | [listbox $w.frame.list -yscroll "$w.frame.yscroll set" \ |
| 24 | -xscroll "$w.frame.xscroll set" \ |
| 25 | -geometry 20x10 -relief sunken] {top} |
| 26 | $w.frame.list insert 0 "Waste not, want not" "Early to bed and early to rise makes a man healthy, wealthy, and wise" "Ask not what your country can do for you, ask what you can do for your country" "I shall return" "NOT" "A picture is worth a thousand words" "User interfaces are hard to build" "Thou shalt not steal" "A penny for your thoughts" "Fool me once, shame on you; fool me twice, shame on me" "Every cloud has a silver lining" "Where there's smoke there's fire" "It takes one to know one" "Curiosity killed the cat" "Take this job and shove it" "Up a creek without a paddle" "I'm mad as hell and I'm not going to take it any more" "An apple a day keeps the doctor away" "Don't look a gift horse in the mouth" |
| 27 | button $w.ok -text OK -command "destroy $w" |
| 28 | |
| 29 | pack append $w $w.msg {top fill} $w.frame {top} \ |
| 30 | $w.ok {bottom fill} |
| 31 | } |