Export (0) Print
Expand All


Copies the label of the specified menu item to the specified buffer.

int GetMenuString(
   UINT nIDItem,
   LPTSTR lpString,
   int nMaxCount,
   UINT nFlags 
) const;
int GetMenuString(
   UINT nIDItem,
   CString& rString,
   UINT nFlags 
) const;



Specifies the integer identifier of the menu item or the offset of the menu item in the menu, depending on the value of nFlags.


Points to the buffer that is to receive the label.


A reference to a CString object that is to receive the copied menu string.


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


Specifies the interpretation of the nIDItem parameter. It can be one of the following values:

nFlags Interpretation of nIDItem


Specifies that the parameter gives the command ID of the existing menu item. This is the default if neither MF_BYCOMMAND nor MF_BYPOSITION is set.


Specifies that the parameter gives the position of the existing menu item. The first item is at position 0.

Specifies the actual number of characters copied to the buffer, not including the null terminator.

The nMaxCount parameter should be one larger than the number of characters in the label to accommodate the null character that terminates a string.

See the example for CMenu::InsertMenu.

Community Additions

© 2014 Microsoft