Compartir a través de


Función GetMenuStringA (winuser.h)

Copia la cadena de texto del elemento de menú especificado en el búfer especificado.

Nota Se ha reemplazado la función GetMenuString. Use la función GetMenuItemInfo para recuperar el texto del elemento de menú.
 

Sintaxis

int GetMenuStringA(
  [in]            HMENU hMenu,
  [in]            UINT  uIDItem,
  [out, optional] LPSTR lpString,
  [in]            int   cchMax,
  [in]            UINT  flags
);

Parámetros

[in] hMenu

Tipo: HMENU de

Identificador del menú.

[in] uIDItem

Tipo: UINT

Elemento de menú que se va a cambiar, determinado por el parámetro uFlag.

[out, optional] lpString

Tipo: LPTSTR de

Búfer que recibe la cadena terminada en NULL. Si la cadena es tan larga o más larga que lpString, la cadena se trunca y se agrega el carácter NULO de terminación. Si lpString es NULL, la función devuelve la longitud de la cadena de menú.

[in] cchMax

Tipo: int

Longitud máxima, en caracteres, de la cadena que se va a copiar. Si la cadena es mayor que el máximo especificado en el parámetro nMaxCount de , se truncan los caracteres adicionales. Si nMaxCount es 0, la función devuelve la longitud de la cadena de menú.

[in] flags

Tipo: UINT

Indica cómo se interpreta el parámetro uIDItem. Este parámetro debe ser uno de los siguientes valores.

Valor Significado
MF_BYCOMMAND
0x00000000L
Indica que uIDItem proporciona el identificador del elemento de menú. Si no se especifica la marca MF_BYCOMMAND ni MF_BYPOSITION, la marca MF_BYCOMMAND es la marca predeterminada.
MF_BYPOSITION
0x00000400L
Indica que uIDItem proporciona la posición relativa de base cero del elemento de menú.

Valor devuelto

Tipo: int

Si la función se ejecuta correctamente, el valor devuelto especifica el número de caracteres copiados en el búfer, no incluido el carácter nulo de terminación.

Si se produce un error en la función, el valor devuelto es cero.

Si el elemento especificado no es de tipo MIIM_STRING o MFT_STRING, el valor devuelto es cero.

Observaciones

El parámetro nMaxCount debe ser uno mayor que el número de caracteres de la cadena de texto para dar cabida al carácter nulo de terminación.

Si nMaxCount es 0, la función devuelve la longitud de la cadena de menú.

Advertencia de seguridad de

El parámetro lpString es un búfer de TCHAR y nMaxCount es la longitud de la cadena de menú en caracteres. El ajuste de tamaño de estos parámetros incorrectamente puede provocar el truncamiento de la cadena, lo que provoca una posible pérdida de datos.

Ejemplos

Para obtener un ejemplo, vea Crear aceleradores editables de usuario.

Nota

El encabezado winuser.h define GetMenuString como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de winuser.h (incluya Windows.h)
biblioteca de User32.lib
DLL de User32.dll
conjunto de API de ext-ms-win-ntuser-menu-l1-1-3 (introducido en Windows 10, versión 10.0.14393)

Consulte también

conceptual de

GetMenuItemID

menús de

de referencia de