With oWND:SetMenu depends on the user right you can change menu "on-line", its easier for me to build menu again, then destroy menuitem.
... oWND:SetMenu(AgainBuildMenu()) ...
Function AgainBuildMenu() Local oMENU
MENU o MENU 2007 .... If User_Have_Right(right_number_1) MENUITEM ..... MENUITEM ..... EndIf If User_Have_Right(right_number_2) MENUITEM ..... MENUITEM ..... EndIf