use warnings;
use strict;
####
-textvariable => \${$ComboBoxName},
-choices => \@{$ComboBoxName."List"},
-browsecmd =>\&{"on".$ComboBoxName."ComboBoxSelect"}
####
#!/usr/bin/perl
use warnings;
use strict;
use Tk;
use Tk::JComboBox;
my %box;
my $ScreenSize = "300x250+50+50";
my $MainScreenObject = MainWindow->new(-background =>"white");
$MainScreenObject->geometry($ScreenSize);
my @TestList = ('12','123','12345');
$box{1}{'var'} = 1;
$box{1}{'obj'} = createComboBox(1,5,100,50);
$box{2}{'var'} = 2;
$box{2}{'obj'} = createComboBox(2,15,100,150);
MainLoop;
sub ComboBoxSelect {
my $list = shift;
print "Browsing $list\n";
my @TestList1 = ('a','b','cde');
$box{$list}{'obj'}->configure(-choices => \@TestList1 ,-state => 'normal');
}
sub createComboBox {
my($ComboBoxName,$Width,$x,$y) = @_;
my $ComboBoxObject = $MainScreenObject->JComboBox(
-background =>'white',
-textvariable => \$box{$ComboBoxName}{'var'},
-choices => \@TestList,
-browsecmd => [\&ComboBoxSelect,$ComboBoxName],
-entrywidth =>$Width,)->place(-x=>$x,-y=>$y);
return($ComboBoxObject);
}