How can I create items of a Tk pop-up menu conditionally, for example with a switch 0/1 for the first command? (Possibly still using the same way to construct the -menuitems array (since I ve got increadibly many of such menus). This is how I construct my menu:
$menu = $mw->Menu(-tearoff=>0, -menuitems=>[ [command=>$MESS_0= -command=>[\&DialogMove, $obj,]], '', [command=>$MESS_1, -command=>[sub {MoveColumn('right')}, $obj,]], [command=>$MESS_2, -command=>[sub {MoveColumn('left')}, $obj,]], '', [command=>$MESS_3, -command=>[sub {HideColumn()}, $obj,]], [command=>$MESS_4, -command=>[sub { if ($ContentColumn11GLOBAL eq 11){$ContentColumn11GLOBAL=0} else {$ContentColumn11GLOBAL=11} SetViewFromSearchFrame11($ContentColumn11GLOBAL); }, $obj,]], [command=>$MESS_5, -command=>[sub { if ($ContentColumn12GLOBAL eq 12){$ContentColumn12GLOBAL=0} else {$ContentColumn12GLOBAL=12} SetViewFromSearchFrame12($ContentColumn12GLOBAL); }, $obj,]], ]); $menu->configure(-postcommand => sub { redefine_labels(); $menu->entryconfigure(2, -label => $MESS_1); $menu->entryconfigure(3, -label => $MESS_2); $menu->entryconfigure(5, -label => $MESS_3); $menu->entryconfigure(6, -label => $MESS_4); $menu->entryconfigure(7, -label => $MESS_5); });
In reply to Tk create menu item dynamically by IB2017
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |