Récupération choix sous menu cascade
Bonjour,
Je suis en train de faire un menu avec sous menu en cascade, cela fonctionne pour la mise en place mais je ne sais pas comment récupérer la sélection finale... voici le 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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
|
# -- Définition des Variables Tk -- #
my ($Fenetre_Principale, $Frame_Principale);
my $color = "thistle4";
my ($Barre_Menu, $Menu_App, $Sous_Menu_App);
# -- Création de la Fenêtre Principale -- #
$Fenetre_Principale = MainWindow->new();
$Fenetre_Principale->minsize('800','600');
$Fenetre_Principale->title("Interface Admin ISOTOP");
# -- Création de la Frame Centrale -- #
$Frame_Principale = $Fenetre_Principale -> Frame(-relief => 'groove', -borderwidth =>8, -background => $color);
#tableau contenant les noms des sous menus
my @Table_Sous_Menu = ("DBI_MyAdmin");
#tableau contenant le nom des commandes dans le sous-menu Nouveau...
my @DBI_MyAdmin = ("Langue","Jetton");
#On précise quelles commandes correspondent à quel sous-menu
my %sous_menu = ("DBI_MyAdmin" => \@DBI_MyAdmin);
my %sous_menuref;
# -- Création de la barre de menu (enTête de page) -- #
$Barre_Menu = $Fenetre_Principale -> Frame(-relief => 'groove' , -borderwidth =>2, -background => $color, -foreground => 'white');
# -- Gestion des Menus -- #
# -- Menu Application -- #
$Menu_App = $Barre_Menu->Menubutton(-text => 'Application',
-font => '{Garamond} 12',
-tearoff => 0,
-background => $color,
-foreground => 'white'
);
#Création des sous menus avec leurs commandes
foreach my $m (@Table_Sous_Menu)
{
$sous_menuref{$m} = $Menu_App->menu->Menu;
my @a=values(%sous_menu);
map( $sous_menuref{$m}->add('command',-label => $_, -command => sub {Sous_Menu(@{$sous_menu{$m}});}), @{$sous_menu{$m}} );
$Menu_App->cascade(-label => $m);
#affichage des contenus des sous-menus
$Menu_App->entryconfigure($m, -menu => $sous_menuref{$m});
}
# -- Gestion de l'affichage des widget -- #
$Barre_Menu->pack(-side => 'top' , -anchor => 'n' , -fill => 'x');
$Frame_Principale->pack(-anchor => 'center', -fill => 'both', -expand => 'y');
$Menu_App->pack(-side => 'left');
# -- Lanceur d'évènement -- #
MainLoop;
# -- Fonctions Principales -- #
sub Sous_Menu
{
my ($test) = @_;
print $test;
} |
en faite il me renvoie toujours la valeur "Langue", que je clique sur Langue ou Jetton c'est pareil...?
Est ce bien comme ça qu'il faut procéder ou il y a t il une autre façon d'associer une fonction à un sous menu ? (je n'arrive à trouver nulle part d'explication sur ça...)
Meric d'avance :lol: