So, nochmal die Antwort, hat scheinbar irgendwie nicht hingehauen.
Also erstmal vielen Dank für die schnelle Antwort, renee.
packForget funktioniert nicht, die RECTANGLES werden aber auch nicht über ->pack() erzeugt.
Hier der Code, der das CANVAS erzeugt:
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
48
49
50
if($EtkMenge > 1)
{
$LW2 = $LW->Canvas(-width=>'159', -height=>'224', -borderwidth=>'2', -relief=>'groove')->pack();
$LW->createWindow(385,125, -window=>$LW2, -anchor=>'nw');
$StartEtk2 = 1;
$Etkges = 1;
$Spalte = 1;
$X1 = 5;
$X2 = 55;
$Y1 = 35;
$Y2 = 65;
$Head2 = $LW2->createRectangle(5,5,159,33,-fill=>'lightgrey');
$LW2->createText(20,50,-text=>"- 2. Blatt -");
$Foot2 = $LW2->createRectangle(5,195,159,223,-fill=>'lightgrey');
while ($Etkges <= 15)
{
if($EtkMenge >= 1 and $Etkges >= $StartEtk2)
{
$R_Etk2 = $LW2->createRectangle($X1,$Y1,$X2,$Y2, -fill=>'lightblue');
$LW2->createText($X1+20, $Y1+15, -text=>$Etkges);
$EtkMenge --;
}
else
{
$R_Etk2 = $LW2->createRectangle($X1,$Y1,$X2,$Y2, -fill=>'lightgrey');
$LW2->createText($X1+20, $Y1+15, -text=>$Etkges);
}
$X1 = $X1 + 52;
$X2 = $X2 + 52;
$Spalte ++;
if($Spalte == 4)
{
$X1 = 5;
$X2 = 55;
$Y1 = $Y1 + 32;
$Y2 = $Y2 + 32;
$Spalte = 1;
}
$Etkges ++;
}
}
else
{
if($LW2)
{
$LW2->packForget();
}
}