Sorry, the end was truncated. Here's the whole program
#---------------
use strict ;
use Tk ;
my $mw = MainWindow -> new() ;
my $logw = $mw -> Scrolled('ROText') -> pack ;
my %cell ;
for my $col (0 ..3){
for my $row (0 .. 5){
$cell{$col}{$row} = $logw -> Label( -text => "*$col $row*" ,
-background => 'white' ,
) -> grid( -column =>
$col, -row => $row) ;
}
}
my $hold_col = 0;
my $hold_row = 0 ;
$cell{$hold_col}{$hold_row} -> configure(-background => 'red') ;
$mw -> bind('<KeyPress>' => => [\&keywork,$logw ] ) ;
MainLoop ;
sub keywork{
my ($widget) = @_ ;
my $e = $widget->XEvent ;
my ($keysym_text, $keysym_decimal, $mousewheelD) = ($e->K, $e-> N,
$e->D ); # final magic
print " you pressed $keysym_text , $keysym_decimal, $mousewheelD " ;
if( $keysym_text eq 'Down'){
if( $hold_row == 5 ) {
return
} ;
$cell{$hold_col}{$hold_row} -> configure( -background =>
'white') ;
$hold_row ++ ;
$cell{$hold_col}{$hold_row} -> configure(-background => 'red')
;
}
if( $keysym_text eq 'Up' ){
if( $hold_row == 0 ) {
return
} ;
$cell{$hold_col}{$hold_row} -> configure( -background =>
'white') ;
$hold_row -- ;
$cell{$hold_col}{$hold_row} -> configure(-background => 'red')
;
}
}
_______________________________________________
Perl-Win32-Users mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs