GetMenuString

The GetMenuString function copies the text string of the specified menu item into the specified buffer.

GetMenuString works, but is obsolete. Use GetMenuItemInfo instead.

int GetMenuString(

HMENU hMenu, // handle to the menu
UINT uIDItem, // menu item identifier
LPTSTR lpString, // pointer to the buffer for the string
int nMaxCount, // maximum length of the string
UINT uFlag // menu flags
);  

Parameters

hMenu

Identifies the menu.

uIDItem

Specifies the menu item to be changed, as determined by the uFlag parameter.

lpString

Points to the buffer that is to receive the null-terminated string.

If lpString is NULL, the function returns the length of the menu string.

nMaxCount

Specifies the maximum length, in characters, of the string to be copied. If the string is longer than the maximum specified in the nMaxCount parameter, the extra characters are truncated.

If nMaxCount is 0, the function returns the length of the menu string.

uFlag

Specifies how the uIDItem parameter is interpreted. This parameter must be one of the following values:

Value Meaning
MF_BYCOMMAND Indicates that uIDItem gives the identifier of the menu item. If neither the MF_BYCOMMAND nor MF_BYPOSITION flag is specified, the MF_BYCOMMAND flag is the default flag.
MF_BYPOSITION Indicates that uIDItem gives the zero-based relative position of the menu item.

Return Values

If the function succeeds, the return value specifies the number of characters copied to the buffer, not including the terminating null character.

If the function fails, the return value is zero.

Remarks

The nMaxCount parameter must be one larger than the number of characters in the text string to accommodate the terminating null character.

If nMaxCount is 0, the function returns the length of the menu string.

See Also

GetMenuItemID