Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Membre à l'essai
    Inscrit en
    mars 2011
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : mars 2011
    Messages : 62
    Points : 21
    Points
    21

    Par défaut Menu dans Mlistbox

    Bonjour,

    Je cherche à insérer un menu "pop-up" via un clic droit dans une MlistBox. Voici la partie de mon code :

    Code :
    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
     
    my $btlist = $frame4->Scrolled ('MListbox',-columns => [
      [ -text =>'Category', -sortable => 1],
      [ -width => 90,-text =>'File', -sortable => 1],
      [ -text =>'Category2', -sortable => 1,-comparecommand => sub { $_[0] <=> $_[1]}],
      [ -text =>'Category3', -sortable => 1,-comparecommand => sub { $_[0] <=> $_[1]}],
      [ -text =>'Category4', -sortable => 1,-comparecommand => sub { $_[0] <=> $_[1]}]],
      -moveable =>0,-background => $maincolor,-font => $mainfont,-scrollbars => 'osoe',-selectmode =>  'extended', -height => 10,-width => 450,
    )->pack(-side => 'top', -fill => 'both');
     
    #######Right clic menu###########
    my $menu = $btlist ->Menu(
      -tearoff    => 0,
      -takefocus  => 1,
      -background => "white",
      -menuitems  => [
        [ 'command', => 'un',   -command => [ \&affichage, 'un' ] ],
        [ 'command', => 'deux', -command => [ \&affichage, 'deux' ] ],
        '-',    # séparateur
        [ 'command', => 'trois',  -command => [ \&affichage, 'trois' ] ],
        [ 'command', => 'quatre', -command => [ \&affichage, 'quatre' ] ],
      ],
    );
     
    $btlist ->Tk::bind( '<ButtonPress-3>', sub { $menu->Popup( -popover => 'cursor', -popanchor => 'nw' ); print "MENU\n";} );
    #######End right clic menu###########
    Je n'ai pas d'erreur au lancement, mais le menu ne s'ouvre pas après un clic droit. Pourtant quand je lie le menu à un bouton de la même fenêtre, cela fonctionne.

    Quelqu'un aurait une idée d'ou peut venir l'erreur?

  2. #2
    Membre à l'essai
    Inscrit en
    mars 2011
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : mars 2011
    Messages : 62
    Points : 21
    Points
    21

    Par défaut

    Je viens de trouver la solution, apparemment ce widget doit être traité différemment pour les menu :
    Code :
    1
    2
    3
    4
    5
    6
    7
     
    $btlist->bindRows(
      '<ButtonRelease-3>',
      sub {
        $menu->Popup( -popover => 'cursor', -popanchor => 'nw' );
      }
    );

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •