Funzione GetMenuStringA (winuser.h)

Copia la stringa di testo della voce di menu specificata nel buffer specificato.

Nota La funzione GetMenuString è stata sostituita. Usare la funzione GetMenuItemInfo per recuperare il testo della voce di menu.
 

Sintassi

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

Parametri

[in] hMenu

Tipo: HMENU

Handle del menu.

[in] uIDItem

Tipo: UINT

Voce di menu da modificare, come determinato dal parametro uFlag .

[out, optional] lpString

Tipo: LPTSTR

Buffer che riceve la stringa con terminazione Null. Se la stringa è lunga o più lunga di lpString, la stringa viene troncata e viene aggiunto il carattere Null di terminazione. Se lpString è NULL, la funzione restituisce la lunghezza della stringa di menu.

[in] cchMax

Tipo: int

Lunghezza massima, in caratteri, della stringa da copiare. Se la stringa è più lunga del valore massimo specificato nel parametro nMaxCount , i caratteri aggiuntivi vengono troncati. Se nMaxCount è 0, la funzione restituisce la lunghezza della stringa di menu.

[in] flags

Tipo: UINT

Indica come viene interpretato il parametro uIDItem . Questo parametro deve essere uno dei valori seguenti.

Valore Significato
MF_BYCOMMAND
0x0000000L
Indica che uIDItem fornisce l'identificatore della voce di menu. Se non viene specificato né il MF_BYCOMMAND néil flag MF_BYPOSITION , il flag MF_BYCOMMAND è il flag predefinito.
MF_BYPOSITION
0x0000400L
Indica che uIDItem fornisce la posizione relativa in base zero della voce di menu.

Valore restituito

Tipo: int

Se la funzione ha esito positivo, il valore restituito specifica il numero di caratteri copiati nel buffer, senza includere il carattere null di terminazione.

Se la funzione ha esito negativo, il valore restituito è zero.

Se l'elemento specificato non è di tipo MIIM_STRING o MFT_STRING, il valore restituito è zero.

Commenti

Il parametro nMaxCount deve essere maggiore del numero di caratteri nella stringa di testo per contenere il carattere Null di terminazione.

Se nMaxCount è 0, la funzione restituisce la lunghezza della stringa di menu.

Avviso di sicurezza

Il parametro lpString è un buffer TCHAR e nMaxCount è la lunghezza della stringa di menu in caratteri. Il ridimensionamento di questi parametri in modo non corretto può causare il troncamento della stringa, causando la possibile perdita di dati.

Esempio

Per un esempio, vedere Creazione di acceleratori modificabili dall'utente.

Nota

L'intestazione winuser.h definisce GetMenuString come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winuser.h (include Windows.h)
Libreria User32.lib
DLL User32.dll
Set di API ext-ms-win-ntuser-menu-l1-1-3 (introdotto in Windows 10, versione 10.0.14393)

Vedi anche

Informazioni concettuali

GetMenuItemID

Menu

Riferimento