#!/bin/sh # # Beispiel für Menüs mit Tk \ exec wish $0 $@ # Menü-Balken erzeugen menu .menu # ... und mit Hauptfenster verbinden . configure -menu .menu # Die Untermenüs # ... ohne alles .menu add cascade -label Datei \ -menu .menu.file # ... zu öffnen mit .menu add cascade -label Bearbeiten \ -menu .menu.edit -underline 1 # ... zu öffnen mit .menu add cascade -label Hilfe \ -menu .menu.help -underline 0 # Das einfache Untermenü menu .menu.file # ... mit Einträgen für Kommandos .menu.file add command -label Öffnen # ... und eine Unterteilung .menu.file add separator .menu.file add command -label Öeenden \ -command "exit" -accelerator "^q" # Das Binding zum Beenden bind . exit # Das Hilfemenü kann nicht abgelöst werden menu .menu.help -tearoff 0 .menu.help add command -bitmap info # Ein kontextsensitives Untermenü menu .menu.edit -postcommand menuBearb set kontext normal # ... die Prozedur zur Erzeugung des Menus proc menuBearb {} { .menu.edit delete 0 end .menu.edit add command \ -label "Abhängiger Befehl" \ -state $::kontext .menu.edit add separator .menu.edit add radiobutton -label An \ -value normal -variable ::kontext .menu.edit add radiobutton -label Aus \ -value disabled -variable ::kontext } # Ein aktiver Bereich mit anderem Cursor frame .a grid .a label .a.b -font {Sans 30 bold} \ -cursor crosshair -text "Aktiver Bereich" grid .a.b -padx 25 -pady 25 # Das Binding um das Popup-Menu zu Öffnen bind .a.b {tk_popup .menu.edit %X %Y}