I just use an object called "obj_paused", and upon pausing, do:
if object_index <= last_object_before_menu_objects
obj_index = object_index
The last_object_before_menu_objects is to enable the menu object to still be active while the game is paused, any menu object should be after the rest of the game objects in the resource tree.
Then when unpausing:
Menus can be hard at first, but a good tip is to make most of the variables global, like a slider changing something, if it's global you don't have to do any linking things between the gui objects.
A good way to go about it would be to think what you actually want the menus to do, like what they are controlling and plan and make what you need to do for that to work.