Sehr Umfangreiche Webseite zum Programmieren in C Perl CGI, Skripting, Linux, SystemprogrammierungPerl Perl Kurs Skripting Tk-Modul use Tk; Tcl/Tk Scrollbar Listbox Tk Scrollbar Listbox Steuerelement Perl Skript Tk-Modul Tk use Tk Perl mit dem Tk-Modul Teil 9

Steuerelemente - Scrollbar Listbox          zurück zum Inhaltsverzeichnis

Sie haben ja bereits kurz gesehen wie Sie Listboxen einsetzen können. Richtig funktional werden diese aber erst mit Hilfe einer Scrollfunktion einer Scrollbar. Sehen wir uns also ein Beispiel an wie Sie 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 (Linux/Unix):

Steuerelement Scrollbar Listbox Linux/Unix

So siehts aus (MS Windows):

Steuerelement Scrollbar Listbox MS Windows

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 Sie 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 Sie auch noch mit ...

-yscrollcommand => ['set', $scroll]

... auf die y-Richtung einstellen und sozusagen verbinden mit der Scrollbar. configure(..) werden Sie auch noch häufiger sehen. Damit ist es uns möglich Widgets-Optionen zu ändern.