Using One Scrollbar to control the scroll of Three Listboxes : Scrollbar « GUI « Perl

Home
Perl
1.Array
2.CGI
3.Class
4.Data Type
5.Database
6.File
7.GUI
8.Hash
9.Language Basics
10.Network
11.Regular Expression
12.Report
13.Statement
14.String
15.Subroutine
16.System Functions
17.Win32
18.XML
Perl » GUI » Scrollbar 
Using One Scrollbar to control the scroll of Three Listboxes
 

#!/usr/local/bin/perl -w
use Tk;
use strict;

my $mw = MainWindow->new();
$mw->title("This is the title");
$mw->Button(-text => "Exit"
            -command => sub exit })->pack(-side => 'bottom');

my $scroll = $mw->Scrollbar();
my $listboxes = $mw->Listbox(), $mw->Listbox(), $mw->Listbox() ];

sub scroll_listboxes {
    my ($sb, $scrolled, $lbs, @args= @_;
    $sb->set(@args); # tell the Scrollbar what to display
    my ($top, $bottom= $scrolled->yview();
    foreach my $list (@$lbs) {
     $list->yviewMoveto($top); # adjust each lb
    }
}

foreach my $list (@$listboxes) {
    $list->configure(-yscrollcommand => \&scroll_listboxes, $scroll,
            $list, $listboxes ]);
}

$scroll->configure(-command => sub {
           foreach my $list (@$listboxes) {
            $list->yview(@_);
           }});

$scroll->pack(-side => 'left', -fill => 'y');
foreach my $list (@$listboxes) {
    $list->pack(-side => 'left');
    $list->insert('end', qw/one two three four five six seven eight nine ten eleven twelve thirteen/);
}

MainLoop;

   
  
Related examples in the same category
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.