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

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

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 , 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 puede ser uno de los siguientes valores.

Value 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 de 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, sin incluir el carácter nulo de terminación.

Si la función no se realiza correctamente, el valor devuelto es cero.

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

Comentarios

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

El parámetro lpString es un búfer TCHAR y nMaxCount es la longitud de la cadena de menú en caracteres. Cambiar el 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 neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winuser.h (incluya Windows.h)
Library User32.lib
Archivo DLL User32.dll
Conjunto de API ext-ms-win-ntuser-menu-l1-1-3 (introducido en Windows 10, versión 10.0.14393)

Consulte también

Conceptual

GetMenuItemID

Menús

Referencia