A menu is considered "active" when it is displayed on the screen, or, in the case of a menu_bar when one of its menus is active.
An item is "selected" if it is displayed in a prelight state and its submenu (if any) displayed.
Setting Take_Focus to FALSE is useful only for special applications like virtual keyboard implementations which should not take keyboard focus.
The Take_Focus state of a menu or menu bar is automatically propagated to submenus whenever a submenu is popped up, so you don't have to worry about recursively setting it for your entire menu hierarchy. Only when programmatically picking a submenu and popping it up manually, the Take_Focus property of the submenu needs to be set explicitely.
Note that setting it to %ALSE has side-effects:
If the focus is in some other app, it keeps the focus and keynav in the menu doesn't work. Consequently, keynav on the menu will only work if the focus is on some toplevel owned by the onscreen keyboard.
To avoid confusing the user, menus with Take_Focus set to FALSE should not display mnemonics or accelerators, since it cannot be guaranteed that they will work.