Displaying a pop-up menu

A pop-up menu is exactly as the name implies: a menu that appears arbitrarily. It is accessed via a user action (normally a mouse click). The menu is created as normally, but is accessed by binding to an event. The actual display of the menu is accomplished by the tk_popup command.

The syntax is as follows:

	tk_popup name x y

How to do it…

In the following example, we will create a menu that contains an option to exit a window. Create the following text file and save it in your working path with the name my_popup.tcl:

# Load the TK Package
package require Tk
#Define our interface
wm geometry . 320x240
wm title . "Menu Example"
# Create a menu to exit our window
set File [menu .popup]
# Add the Exit entry
$File add command -label Exit -command exit
# Now we add a label to bind to
label .l -text "Click here to access your menu"
pack .l
# Now bind to the right mouse click
bind .l <3> {tk_popup .popup %X %Y}

Now launch the program by invoking the following command line command.


tclsh85 my_popup.tcl

You should now see the following window after you right-click on the label:

How to do it…

Click on the label to access your pop up menu and select the Exit option to close the window.

How it works…

By binding the right mouse click to the label we have displayed a pop up menu. Bear in mind that specific platform differences may exist for example between Windows and the MacOS X platforms. The %X and %Y are returned by the mouse click event and the upper-left-hand side corner of the pop up is positioned at this location. To remove the menu from the display without invoking a menu command, you simply click on any area of the window.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.118.12.157