Perl/Tk: canvas et scrolling

Le
Patrick Texier
Bonjour,

J'utilise Perl 5.8.8 avec Tk

La documentaion de Tk:: est infernale quand on cherche un méthode ou une
propriété dont on ne connait pas le nom.

Dans un programme, j'ai un canevas qui fixe la taille de la fenêtre mais
je n'arrive pas à lui interdire de scroller avec les flèches quand il a
le focus. Je ne me souviens même plus de tout ce que j'ai tenté.

De ce programme, je tire l'exemple minimum suivant :

= test.pl =
#/usr/bin/perl -w

use strict;
use Tk;

my $win=MainWindow->new(
-title => 'test canevas'
);

$win->resizable(0, 0);

my $f = 3;
my $t = 35;
my $m = 11;

my $can = $win->Canvas(
-width => (2 * ($f + 1) * $t + 40 + $t + 20),
-height => (($m + 2) * $t + 20),
-background => 'grey'
);

$can->createOval(50, 50, 100, 100,
-fill => 'red',
);

$can->pack(
-expand => 0,
-fill => 'both'
);
MainLoop;
=

Merci d'avance,
--
Patrick Texier

vim:syntax=mail:ai:ts=4:et:twr
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jerome Quelin
Le #18293011
Patrick Texier wrote:
Dans un programme, j'ai un canevas qui fixe la taille de la fenêtre mais
je n'arrive pas à lui interdire de scroller avec les flèches quand il a
le focus. Je ne me souviens même plus de tout ce que j'ai tenté.



il faut supprimer les bindings de la classe Canvas :

foreach my $key ( qw{ Down End Home Left Next Prior Right Up } ) {
$top->bind('Tk::Canvas', "<Key-$key>", undef);
$top->bind('Tk::Canvas', "<Control-Key-$key>", undef);
}

cdlt,
jérôme
--

Patrick Texier
Le #18293661
Le Sun, 04 Jan 2009 11:15:25 +0100, Jerome Quelin a écrit :

il faut supprimer les bindings de la classe Canvas :

foreach my $key ( qw{ Down End Home Left Next Prior Right Up } ) {
$top->bind('Tk::Canvas', "<Key-$key>", undef);
$top->bind('Tk::Canvas', "<Control-Key-$key>", undef);
}



Merci Jérôme.

jérôme



Attention ton Knode, comme tous ceux qui en ont un récent, ne déclare
pas (ou mal) le jeu de caractères, ici UTF-8, rendant les accents
illisibles par le reste du monde :

Content-Type: text/plain; charset=""
Content-Transfer-Encoding: 8Bit


--
Patrick Texier

vim:syntax=mail:ai:ts=4:et:twr
Publicité
Poster une réponse
Anonyme