Compartilhar via


Função GetMenuItemInfoA (winuser.h)

Recupera informações sobre um item de menu.

Sintaxe

BOOL GetMenuItemInfoA(
  [in]      HMENU           hmenu,
  [in]      UINT            item,
  [in]      BOOL            fByPosition,
  [in, out] LPMENUITEMINFOA lpmii
);

Parâmetros

[in] hmenu

Tipo: HMENU

Um identificador para o menu que contém o item de menu.

[in] item

Tipo: UINT

O identificador ou posição do item de menu sobre o qual obter informações. O significado desse parâmetro depende do valor de fByPosition.

[in] fByPosition

Tipo: BOOL

O significado de uItem. Se esse parâmetro for FALSE, uItem será um identificador de item de menu. Caso contrário, é uma posição de item de menu. Consulte Acessando itens de menu programaticamente para obter mais informações.

[in, out] lpmii

Tipo: LPMENUITEMINFO

Um ponteiro para uma estrutura MENUITEMINFO que especifica as informações a serem recuperadas e recebe informações sobre o item de menu. Observe que você deve definir o membro cbSize para sizeof(MENUITEMINFO) antes de chamar essa função.

Valor de retorno

Tipo: BOOL

Se a função for bem-sucedida, o valor retornado não será zero.

Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, use a função GetLastError.

Observações

Para recuperar um item de menu do tipo MFT_STRING, primeiro localize o tamanho da cadeia de caracteres definindo o dwTypeData membro do MENUITEMINFO NULL e, em seguida, chamando GetMenuItemInfo. O valor de cch+1 é o tamanho necessário. Em seguida, aloque um buffer desse tamanho, coloque o ponteiro para o buffer em dwTypeData, incremente cch por um e chame GetMenuItemInfo mais uma vez para preencher o buffer com a cadeia de caracteres.

Se o item de menu recuperado for de algum outro tipo, GetMenuItemInfo definirá o membro dwTypeData como um valor cujo tipo é especificado pelo membro fTypefType e definirá cch como 0.

Exemplos

Para obter um exemplo, consulte Exemplo de Itens de Menu Owner-Drawn.

Nota

O cabeçalho winuser.h define GetMenuItemInfo como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000 Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho winuser.h (inclua Windows.h)
biblioteca User32.lib
de DLL User32.dll
conjunto de API ext-ms-win-ntuser-menu-l1-1-3 (introduzido no Windows 10, versão 10.0.14393)

Consulte também

Conceitual

menus

de referência de

SetMenuItemInfo