|
![ein Kapitel weiter](../weiter.gif)
Wir haben ja bereits kurz gesehen wie wir Listboxen einsetzen. Richtig funktional
werden diese aber erst mit Hilfe einer Scrollfunktion einer Scrollbar.
Sehen wir uns also ein Beispiel an wie wir durch eine Liste scrollen können............
#! /usr/bin/perl -w
use strict;
use Tk;
my $main = MainWindow->new;
my $box = $main->Listbox(-height => 5);
my @items = qw(Eins Zwei Drei Vier Fünf Sechs Sieben Acht Neun Zehn);
foreach (@items) {
$box->insert('end', $_);
}
my $scroll = $main->Scrollbar(-command => ['yview', $box]);
$box->configure(-yscrollcommand => ['set', $scroll]);
$box->pack(-side => 'left', -fill => 'both', -expand => 1);
$scroll->pack(-side => 'right', -fill => 'y');
MainLoop;
So siehts aus :
Entscheidend sind die beiden Zeilen............
my $scroll = $main->Scrollbar(-command => ['yview', $box]);
$box->configure(-yscrollcommand => ['set', $scroll]);
Das Kommando ['yview', $box] in der Scrollbar bedeutet soviel das wir den
"Scrollbutton" in y-Richtung, also Auf-und Abbewegen können. Der Inhalt der dabei
mitbewegt wird ist die Referenz auf die Listbox $box. Wenn Beispielsweise schreiben
würden ['xview', $box] würde sich die Scrollbar nicht mehr bewegen lassen da die
x-Richtung aktiviert haben. Die Listbox müssen wir auch noch mit......
-yscrollcommand => ['set', $scroll]
...auf die y-Richtung und sozusagen verbinden mit der Scrollbar. configure(..) werden
wir auch noch häufiger sehen. Damit ist es uns möglich Widgets-Optionen zu ändern.
![ein Kapitel weiter](../weiter.gif)
© 2001,2002 Jürgen Wolf
|