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

通讯编程

开发平台:

Visual C++

  1. # paned2.tcl --
  2. #
  3. # This demonstration script creates a toplevel window containing
  4. # a paned window that separates two windows vertically.
  5. #
  6. # RCS: @(#) $Id: paned2.tcl,v 1.1 2002/02/22 14:07:01 dkf Exp $
  7. if {![info exists widgetDemo]} {
  8.     error "This script should be run from the "widget" demo."
  9. }
  10. set w .paned2
  11. catch {destroy $w}
  12. toplevel $w
  13. wm title $w "Vertical Paned Window Demonstration"
  14. wm iconname $w "paned2"
  15. positionWindow $w
  16. label $w.msg -font $font -wraplength 4i -justify left -text "The sash between the two scrolled windows below can be used to divide the area between them.  Use the left mouse button to resize without redrawing by just moving the sash, and use the middle mouse button to resize opaquely (always redrawing the windows in each position.)"
  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. # Create the pane itself
  24. panedwindow $w.pane -orient vertical
  25. pack $w.pane -side top -expand yes -fill both -pady 2 -padx 2m
  26. # The top window is a listbox with scrollbar
  27. set paneList {
  28.     {List of Tk Widgets}
  29.     button
  30.     canvas
  31.     checkbutton
  32.     entry
  33.     frame
  34.     label
  35.     labelframe
  36.     listbox
  37.     menu
  38.     menubutton
  39.     message
  40.     panedwindow
  41.     radiobutton
  42.     scale
  43.     scrollbar
  44.     spinbox
  45.     text
  46.     toplevel
  47. }
  48. set f [frame $w.pane.top]
  49. listbox $f.list -listvariable paneList -yscrollcommand "$f.scr set"
  50. # Invert the first item to highlight it
  51. $f.list itemconfigure 0 
  52. -background [$f.list cget -fg] -foreground [$f.list cget -bg]
  53. scrollbar $f.scr -orient vertical -command "$f.list yview"
  54. pack $f.scr -side right -fill y
  55. pack $f.list -fill both -expand 1
  56. # The bottom window is a text widget with scrollbar
  57. set f [frame $w.pane.bottom]
  58. text $f.text -xscrollcommand "$f.xscr set" -yscrollcommand "$f.yscr set" 
  59. -width 30 -wrap none
  60. scrollbar $f.xscr -orient horizontal -command "$f.text xview"
  61. scrollbar $f.yscr -orient vertical -command "$f.text yview"
  62. grid $f.text $f.yscr -sticky nsew
  63. grid $f.xscr         -sticky nsew
  64. grid columnconfigure $f 0 -weight 1
  65. grid rowconfigure    $f 0 -weight 1
  66. $f.text insert 1.0 "This is just a normal text widget"
  67. # Now add our contents to the paned window
  68. $w.pane add $w.pane.top $w.pane.bottom