Carbon supports the Menu Manager, with the following changes:
- * Your application must use the functions defined by the Menu Manager whenever it creates and disposes of Menu Manager data structures. Some applications, for example, create menus by using the Resource Manager function GetResource (instead of the Menu Manager function GetMenu) and dispose of them by calling ReleaseResource instead of DisposeMenu. This practice is not supported in Carbon.
- * The MenuInfo structure is opaque in Carbon. You must revise your application so that it accesses Menu Manager data structures only through accessor functions.
- * There are several Menu Manager functions that deal with manipulating menu color information tables. Apple recommends that you stop using them. The Appearance Manager generally disregards these color tables and instead uses the colors defined for the current appearance.
- * You are strongly encouraged to adopt the standard Mac OS 8 menu definition procedures (also known as MDEFs) in your application. Your menus will then inherit the systemwide appearance and, furthermore, take advantage of other Menu Manager enhancements planned for the future. Note, however, that if you must use custom menu definition procedures, you must compile them as PowerPC-native code.
Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Use AppendMenu instead. Not available in CarbonLib. Not available in Mac OS X.Available in CarbonLib 1.0 and later when running Mac OS 8.5 or later. Available in Mac OS X 10.0 and later.
AppendMenuItemTextWithCFString
Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.
ChangeMenuItemPropertyAttributes
Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.CheckItem has been renamed to CheckMenuItem in Carbon. Not available in CarbonLib. Not available in Mac OS X.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when Contextual Menus 1.0 or later is present. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.CountMItems has been renamed to CountMenuItems in Carbon. Not available in CarbonLib. Not available in Mac OS X.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.DeleteMCEntries does nothing, because the Appearance Manager doesn't use color tables. Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Replaced by DisableMenuItem. Not available in CarbonLib. Not available in Mac OS X.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Note that the implementation of Carbon on Mac OS 8.1 only supports disabling menu items less than or equal to 31. Available in CarbonLib 1.0 and later when running Mac OS 8.5 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.5 or later. Available in Mac OS X 10.0 and later.Accessing the MBarHook low-memory global variable is not supported in Carbon. Use the Carbon Event Manager to work with menu bar events instead.DisposeMCInfo does nothing, because Appearance Manager doesn't use color tables. Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0.2 and later. Available in Mac OS X 10.0 and later.The menu bar is not customizable in Carbon.Apple discourages you from writing and using your own menu definition functions and encourages you to use the system-supplied menu definition function instead. New features that have previously been missing are now available in the system-supplied menu definition function. Since Appearance Manager 1.0 (in Mac OS 8.0), for example, the system-supplied menu definition function has supported extended menu item command key modifiers and glyphs. And in Carbon, the system-supplied menu definition function supports dynamic items, which allow the contents of a menu item to be redrawn while the menu is displayed in response to the user pressing a modifier key on the keyboard. Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Accessing the MenuHook low-memory global variable is not supported in Carbon. Use the Carbon Event Manager to work with menu events instead.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0.2 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Replaced by EnableMenuItem. Not available in CarbonLib. Not available in Mac OS X.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.5 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.5 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.5 and later. Available in Mac OS X 10.1 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.
GetFontFamilyFromMenuSelection
Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.GetMCEntry does nothing, because Appearance Manager doesn't use color tables. Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.GetMCInfo does nothing, because Appearance Manager doesn't use color tables. Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.In Carbon, the GetMenu function always returns a newly created MenuRef. Prior to Carbon, GetMenu would first check if the menu was already in memory. If so, GetMenu would return the in-memory copy. This behavior is no longer supported.
Carbon does not support custom menu definitions stored in 'MDEF' resources. If you want to specify a custom menu definition for GetMenu, you must compile your definition function directly in your application and then register the function by callingRegisterMenuDefinition . When GetMenu gets a resourceID value that doesn't recognize, it checks a special mapping table to find the pointer that's registered for the resourceID parameter. It then calls that function to implement your menu. Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.You should instead inspect the kMenuExcludesMarkColumn menu attribute using the GetMenuAttributes function. Available in CarbonLib 1.0 and later when running Mac OS 8.5 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.5 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when Appearance 1.0 or later is present. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when Appearance 1.0 or later is present. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when Appearance 1.0 or later is present. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when Appearance 1.0 or later is present. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when Appearance 1.0 or later is present. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when Appearance 1.0 or later is present. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.5 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.5 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when Appearance 1.0 or later is present. Available in Mac OS X 10.0 and later.To associate data with a menu item you should instead use the Get/SetMenuItemProperty functions available with the Mac OS 8.5 Menu Manager. Not available in CarbonLib. Not available in Mac OS X.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Use GetMenuItemText instead. Not available in CarbonLib. Not available in Mac OS X.Available in CarbonLib 1.0 and later when Appearance 1.0 or later is present. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.5 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when Contextual Menus 1.0 or later is present. Available in Mac OS X 10.0 and later.InitMenus is not supported in Carbon. There is no need to initialize the Menu Manager because the shared library is loaded as needed. Not available in CarbonLib. Not available in Mac OS X.You must use the standard menu bar definition function (MBDF). Not available in CarbonLib. Not available in Mac OS X.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Use InsertMenuItem instead. Not available in CarbonLib. Not available in Mac OS X.Available in CarbonLib 1.0 and later when running Mac OS 8.5 or later. Available in Mac OS X 10.0 and later.
InsertMenuItemTextWithCFString
Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.3 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Accessing the MBarHook low-memory global variable is not supported in Carbon. Use the Carbon Event Manager to work with menu bar events instead.The menu bar is not customizable in Carbon.Apple discourages you from writing and using your own menu definition functions and encourages you to use the system-supplied menu definition function instead. New features that have previously been missing are now available in the system-supplied menu definition function. Since Appearance Manager 1.0 (in Mac OS 8.0), for example, the system-supplied menu definition function has supported extended menu item command key modifiers and glyphs. And in Carbon, the system-supplied menu definition function supports dynamic items, which allow the contents of a menu item to be redrawn while the menu is displayed in response to the user pressing a modifier key on the keyboard. Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Accessing the MenuHook low-memory global variable is not supported in Carbon. Use the Carbon Event Manager to work with menu events instead.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.5 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.5 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.5 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when Contextual Menus 1.0 or later is present. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when Appearance 1.0 or later is present. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Use MenuSelect instead. Not available in CarbonLib. Not available in Mac OS X.Accessing the MBarHook low-memory global variable is not supported in Carbon. Use the Carbon Event Manager to work with menu bar events instead.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Use NewMenu instead. Not available in CarbonLib. Not available in Mac OS X.The menu bar is not customizable in Carbon.Apple discourages you from writing and using your own menu definition functions and encourages you to use the system-supplied menu definition function instead. New features that have previously been missing are now available in the system-supplied menu definition function. Since Appearance Manager 1.0 (in Mac OS 8.0), for example, the system-supplied menu definition function has supported extended menu item command key modifiers and glyphs. And in Carbon, the system-supplied menu definition function supports dynamic items, which allow the contents of a menu item to be redrawn while the menu is displayed in response to the user pressing a modifier key on the keyboard. Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Accessing the MenuHook low-memory global variable is not supported in Carbon. Use the Carbon Event Manager to work with menu events instead.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when Contextual Menus 1.0 or later is present. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.5 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.5 and later. Available in Mac OS X 10.1 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.SetMCEntries does nothing, because Appearance Manager doesn't use color tables. Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.SetMCInfo does nothing, because Appearance Manager doesn't use color tables. Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.You should instead set the kMenuExcludesMarkColumn menu attribute using the SetMenuAttributes function. Available in CarbonLib 1.0 and later when running Mac OS 8.5 or later. Available in Mac OS X 10.0 and later.In the future, the Appearance Manager may control menu-flashing behavior. Not available in CarbonLib. Not available in Mac OS X.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.5 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when Appearance 1.0 or later is present. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when Appearance 1.0 or later is present. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when Appearance 1.0 or later is present. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when Appearance 1.0 or later is present. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when Appearance 1.0 or later is present. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when Appearance 1.0 or later is present. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.5 or later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when Appearance 1.0 or later is present. Available in Mac OS X 10.0 and later.To associate data with a menu item in Carbon, you should instead use the Get/SetMenuItemProperty functions. Not available in CarbonLib. Not available in Mac OS X.Available in CarbonLib 1.0 and later when running Mac OS 8.1 or later. Available in Mac OS X 10.0 and later.Use SetMenuItemText instead. Not available in CarbonLib. Not available in Mac OS X.Available in CarbonLib 1.0 and later when Appearance 1.0 or later is present. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later when running Mac OS 8.5 or later. Available in Mac OS X 10.0 and later.Carbon does not support desk accessories. Not available in CarbonLib. Not available in Mac OS X.Carbon does not support desk accessories. Not available in CarbonLib. Not available in Mac OS X.Available in CarbonLib 1.1 and later. Available in Mac OS X 10.0 and later.Available in CarbonLib 1.0 and later. Available in Mac OS X 10.0 and later.