SetItemMark
SetItemMark Place/remove any character as item mark
#include <Menus.h> Menu Manager
void SetItemMark(theMenu, whichItem, markChar );
MenuHandle theMenu ; handle of menu containing item to modify
short whichItem ; ID of an item in theMenu
char markChar ; char for mark; 0= remove; submenu ID (256K ROMs)
SetItemMark works like CheckItem in that it places a mark to the left of
the specified menu item. It is more general in that it allows you to use any
character in the system font.
On 256K ROMs, SetItemMark can attach a submenu to a menu item.
theMenu is a handle leading to a variable-length MenuInfo structure. It is a
value obtained via NewMenu or GetMenu. It identifies the menu
containing the item to mark or unmark.
whichItem identifies which item in theMenu to mark or unmark. Items are
numbered sequentially with the topmost item having an ID of 1.
markChar is a character to be used as a marker displayed to the left of the
menu item when the menu is visible. Use the defined constant noMark
(0) to remove the existing mark, if any.
if whichItem's command key is hMenuCmd (0x1B), it is used as a
hierarchical submenu title and markChar should contain the menu ID
of the submenu.
Returns: none

Notes: This function lets you substitute a different mark for the "check
character as a menu item marker.
Note: On 256K ROMs and Systems later than 4.1 that support
hierarchical menus, SetItemMark can be used to specify the ID of a
submenu that is displayed for whichItem. This assignment only takes
effect when the command-key whichItem is 0x1B (see SetItemCmd).
Submenus have no item mark to be displayed; a filled triangle is displayed
on the rightmost edge of the menu.
The Menus.h #include file contains several constants you might want to use
as markChar. The following table lists these along with a sampling of
alternatives:
Constant Name Hex Description
noMark n/a 0x00 Remove the current mark, if any
commandMark 0x11 '\021' octal (to embed in an item text)
checkMark 0x12 '\022' convention: 'is current'
diamondMark 0x13 '\023' convention: 'has been changed'
appleMark 0x14 '\024'
(none) • 0xA5 '\245'
(none) í0xC8 '\310'
(none) è0xC3 '\303'
(none) 0xD7 '\327'
You can obtain the current value of any item's mark (e.g., in order to
toggle it to a different state) via the GetItemMark function.