use warnings;
use Tk;
use strict;

# Das mw erzeugen
my $mw = MainWindow->new();
$mw->geometry('450x200');

$mw->Label(-text => '    Event-Demo    ')->pack();

my $text = $mw->Text->pack(-fill => 'both', -expand => 1);

# print an das Textfeld binden
tie *STDOUT, ref $text, $text;

$text->bind("<Create>",  sub { print "Window erzeugt.\n"; });
$text->bind("<Destroy>", sub { print "Window zerstört.\n"; });
$text->bind("<Enter>",   sub { print "Maus im Widget.\n"; });
$text->bind("<Leave>",   sub { print "Maus nicht im Widget.\n"; });

$mw->bind("<Button-1>",  sub { print "linker Mausknopf.\n"; });
$mw->bind("<Button-2>",  sub { print "mittlerer Mausknopf.\n"; });
$mw->bind("<Button-3>",  sub { print "rechter Mausknopf.\n"; });
$mw->bind("<MouseWheel>",sub { print "Du drehst am Rad!\n"; });

$mw->bind('<Key>', [sub { print "Taste$_[1] gedrückt.\n"; }, Ev('K')]);
$mw->bind("<Return>",    sub { print "Enter gedrückt.\n"; });
$mw->bind("<Escape>",    sub { exit; });

MainLoop;
