Previous
Common Widget Options 
Next
Now What? 
Tcl/Tk Tutorial - Create GUI using Tk with Tcl Language
Some Tk Commands

Some Tk Commands

bind
The bind command associates Tcl scripts with events. If you want to do something when the user double-clicks a item in a listbox or when he/she press any button(say F1), bind is what you need. Lets bind something in the next example.

Syntax:
bind path <sequence> script
<sequence> stands for the sequence of button/mouse presses. It should be given in the following pattern...
<modifier-modifier-type-detail> . For example...
<Control-Alt-Key-t> - Control+Alt+T.
Control and Alt are the modifiers and Key is the type with t as the detail. See the next example and you will understand.


#The helping function
proc help {} {
	tk_messageBox -message {Did you ask of help?
You ain't getting any.
Ha Ha Ha!}
}

#This happens at double-click
proc double {} {
	tk_messageBox -message {You double clicked something.
This script is simple - so it won't display what you clicked on.
But if you want a sript that is able to do that, 
write to me at binnyva(at)gmail(dot)com
and I will send you a better script.}
}

label .lab -text " The Bind command " -font {ansi 12 bold}
listbox .lst
.lst insert end "Don't double-click this."
.lst insert end "Don't double-click this either."
.lst insert end "Don't even think of double-clicking this."
.lst insert end "You may double-click this."
.lst insert end "No. Negative. Nay. Nope. Get the message?"
#Bind the double click event to the list box
bind .lst <Double-ButtonPress-1> { double }

label .keys  -justify left -text {Press any of the following...
Control+A
Control+Shift+A
Control+Alt+T
Right click
Control+Escape}

pack .lab .lst .keys -expand 1 -fill x ;#Pack everything

#Exit when the escape key is pressed
bind . <Key-Escape> { exit }
#Shows a helping dialog box when F1 is pressed
bind . <Key-F1> { help }
#Binds misc keys.
bind . <Control-Key-a> \
 { tk_messageBox -message "You pressed Control+A, didn't you?" } ;#Control+A
bind . <Control-Key-A> \
 { tk_messageBox -message "Control+Shift+A, right?" } ;#Control+Shift+A
bind . <Control-Alt-Key-t> \
 { tk_messageBox -message "Control, Alt and T" } ;#Control+Alt+T
bind . <ButtonPress-3> \
 { tk_messageBox -message "The right way to click." } ;#Right click
bind . <Control-Key-Escape> \
 { tk_messageBox -message {You must be a married man. 
What you pressed remindes married men of what they never will have
 - Control or Escape.}
} ;#Control+Escape 
Previous
Common Widget Options 
Next
Now What? 
blog comments powered by Disqus
Subscribe to Feed