sorry, ich habe schon wieder ein Problem, bei dem ich nicht weiterkomme,
diesmal mit Perl/Tk.Im Mainwindow habe ich 4 x 4 Buttons. Dazu gibt es
ein Toplevel namens Klickfield mit einem Label. Das einzig Interessante
passiert in sub move_klickfield: Wenn der Mauscursor in den Bereich
eines Buttons eintritt, wird das Klickfield ᅵber diesen Button
positioniert. Funktioniert prima, aaaaber ...
In der Zeile mit dem Popup hat das Klickfield stets den State
'withdrawn'. Popup wird als nie ausgefᅵhrt, die Zeile ist de facto ein
Noop. Wenn ich sie aber totlege, wird das Klickfield nicht angezeigt.
Kann jemand einen Hinweis geben? Meinen Kode fᅵge ich unten an.
Gruᅵ
Klaus
=================================================
use strict;
use warnings;
use Tk;
my $mw;
my @sudoku_fields;
my $klickfield;
{
$mw = MainWindow->new();
foreach my $i (0 .. 3) {
my $fram = $mw->Frame()->pack();
foreach my $j (0 .. 3) {
my $fieldID = $fram->Button(-text => 'a')->pack(-side =>
'left');
$fieldID->bind('<Enter>', \&move_klickfield);
}
}
my $fieldsize = 9;
$klickfield = $mw->Toplevel(-width => $fieldsize, -height =>
$fieldsize);
$klickfield->overrideredirect(1); # suppress window frame
$klickfield->Label(-background => 'green', -text => 'i')->pack();
$klickfield->withdraw; # make klickfield invisible
MainLoop();
}
sub move_klickfield {
my $fieldID = shift; # ID of button to be covered
$klickfield->withdraw; # make klickfield invisible
$klickfield->configure(-popover => $fieldID);
#print "state ", $klickfield->state, "\n";
$klickfield->Popup() if ($klickfield->state ne 'normal');
return;
}
--
Persᅵnliche Antwort bitte nur an
K<ohne_Punkt_und_Komma>Wittrock<Klammeraffe>web.de
Mit diesem Mist hᅵtte ich euch wirklich nicht belᅵstigen sollen.
Gruᅵ
Klaus