ohne genauere infos kann ich nur wenig sagen...
wenn du das ganze mit labels oder buttons und grid machst, dann kannst du dir einen button oder so herausholen und mit configure den hintergrund aendern, z.B.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#! /usr/bin/perl
use warnings;
use strict;
use Tk ();
use Tk::Dialog ();
my $mw = MainWindow->new();
my $frame = $mw->Frame()->pack();
use vars qw($Grey $Red);
$Grey = '#aaaaaa';
$Red = '#ff0000';
my @fields = ();
for my $j (1..20) {
my @row = ();
for my $i (1..10) {
push (@row, $frame->Label(-text => ' ', -background => $Grey,
-border => 1, -relief => 'sunken'));
} # for
push (@fields, \@row);
my ($first, @other) = @row;
$first->grid(@other);
} # for j
&SetColor(\@fields, 4,2, $Red);
for my $j (1..3) {
&SetColor(\@fields, 3,$j, $Red);
} # for
$mw->after('2000', sub {
for my $j (1..3) {
&SetColor(\@fields, 3,$j, $Grey);
&SetColor(\@fields, 4,$j, $Red);
} # for
&SetColor(\@fields, 5,2, $Red);
});
&Tk::MainLoop;
# ------------------------------------------------------------
sub SetColor {
my ($fields, $i, $j, $color) = @_;
$fields->[$i]->[$j]->configure(-background => $color);
} # SetColor