Estrutura MENUITEMINFOW (winuser.h)
Contém informações sobre um item de menu.
Sintaxe
typedef struct tagMENUITEMINFOW {
UINT cbSize;
UINT fMask;
UINT fType;
UINT fState;
UINT wID;
HMENU hSubMenu;
HBITMAP hbmpChecked;
HBITMAP hbmpUnchecked;
ULONG_PTR dwItemData;
LPWSTR dwTypeData;
UINT cch;
HBITMAP hbmpItem;
} MENUITEMINFOW, *LPMENUITEMINFOW;
Membros
cbSize
Tipo: UINT
O tamanho da estrutura em bytes. O chamador deve definir esse membro como sizeof(MENUITEMINFO)
.
fMask
Tipo: UINT
Indica os membros a serem recuperados ou definidos. Esse membro pode ser um ou mais dos valores a seguir.
fType
Tipo: UINT
O tipo de item de menu. Esse membro pode ser um ou mais dos valores a seguir.
Os valores MFT_BITMAP, MFT_SEPARATOR e MFT_STRING não podem ser combinados uns com os outros. Defina fMaskcomo MIIM_TYPE para usar fType.
fType será usado somente se fMask tiver um valor de MIIM_FTYPE.
Valor | Significado |
---|---|
|
Exibe o item de menu usando um bitmap. A palavra de baixa ordem do membro dwTypeData é o identificador de bitmap e o membro cch é ignorado.
MFT_BITMAP é substituído por MIIM_BITMAP e hbmpItem. |
|
Places o item de menu em uma nova linha (para uma barra de menus) ou em uma nova coluna (para um menu suspenso, submenu ou menu de atalho). Para um menu suspenso, submenu ou menu de atalho, uma linha vertical separa a nova coluna do antigo. |
|
Places o item de menu em uma nova linha (para uma barra de menus) ou em uma nova coluna (para um menu suspenso, submenu ou menu de atalho). Para um menu suspenso, submenu ou menu de atalho, as colunas não são separadas por uma linha vertical. |
|
Atribui a responsabilidade de desenhar o item de menu para a janela que possui o menu. A janela recebe uma mensagem WM_MEASUREITEM antes que o menu seja exibido pela primeira vez e uma mensagem WM_DRAWITEM sempre que a aparência do item de menu precisar ser atualizada. Se esse valor for especificado, o membro dwTypeData conterá um valor definido pelo aplicativo. |
|
Exibe itens de menu selecionados usando uma marca de botão de opção em vez de uma marca marcar se o membro hbmpChecked for NULL. |
|
Justifica com o botão direito do mouse o item de menu e todos os itens subsequentes. Esse valor será válido somente se o item de menu estiver em uma barra de menus. |
|
Especifica que os menus são em cascata da direita para a esquerda (o padrão é da esquerda para a direita). Isso é usado para dar suporte a idiomas da direita para a esquerda, como árabe e hebraico. |
|
Especifica que o item de menu é um separador. Um separador de item de menu aparece como uma linha divisória horizontal. Os membros dwTypeData e cch são ignorados. Esse valor é válido apenas em um menu suspenso, submenu ou menu de atalho. |
|
Exibe o item de menu usando uma cadeia de caracteres de texto. O membro dwTypeData é o ponteiro para uma cadeia de caracteres terminada em nulo e o membro cch é o comprimento da cadeia de caracteres.
MFT_STRING é substituído por MIIM_STRING. |
fState
Tipo: UINT
O estado do item de menu. Esse membro pode ser um ou mais desses valores. Defina fMask como MIIM_STATE para usar fState.
wID
Tipo: UINT
Um valor definido pelo aplicativo que identifica o item de menu. Defina fMask como MIIM_ID para usar o wID.
hSubMenu
Tipo: HMENU
Um identificador para o menu suspenso ou submenu associado ao item de menu. Se o item de menu não for um item que abre um menu suspenso ou submenu, esse membro será NULL. Defina fMask como MIIM_SUBMENU para usar hSubMenu.
hbmpChecked
Tipo: HBITMAP
Um identificador para o bitmap a ser exibido ao lado do item se ele estiver selecionado. Se esse membro for NULL, um bitmap padrão será usado. Se o valor do tipo MFT_RADIOCHECK for especificado, o bitmap padrão será um marcador. Caso contrário, será uma marca marcar. Defina fMask como MIIM_CHECKMARKS para usar hbmpChecked.
hbmpUnchecked
Tipo: HBITMAP
Um identificador para o bitmap a ser exibido ao lado do item se ele não estiver selecionado. Se esse membro for NULL, nenhum bitmap será usado. Defina fMaskcomo MIIM_CHECKMARKS para usar hbmpUnchecked.
dwItemData
Tipo: ULONG_PTR
Um valor definido pelo aplicativo associado ao item de menu. Defina fMask como MIIM_DATA para usar dwItemData.
dwTypeData
Tipo: LPTSTR
O conteúdo do item de menu. O significado desse membro depende do valor de fType e é usado somente se o sinalizador MIIM_TYPE estiver definido no membro fMask .
Para recuperar um item de menu do tipo MFT_STRING, primeiro localize o tamanho da cadeia de caracteres definindo o membro dwTypeData de MENUITEMINFO como 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 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 fType .
Ao usar com a função SetMenuItemInfo , esse membro deve conter um valor cujo tipo é especificado pelo membro fType .
dwTypeData será usado somente se o sinalizador MIIM_STRING estiver definido no membro fMask
cch
Tipo: UINT
O comprimento do texto do item de menu, em caracteres, quando as informações são recebidas sobre um item de menu do tipo MFT_STRING . No entanto, cch será usado somente se o sinalizador MIIM_TYPE estiver definido no membro fMask e for zero caso contrário. Além disso, cch é ignorado quando o conteúdo de um item de menu é definido chamando SetMenuItemInfo.
Observe que, antes de chamar GetMenuItemInfo, o aplicativo deve definir cch para o comprimento do buffer apontado pelo membro dwTypeData . Se o item de menu recuperado for do tipo MFT_STRING (conforme indicado pelo membro fType ), GetMenuItemInfo alterará cch para o comprimento do texto do item de menu. Se o item de menu recuperado for de algum outro tipo, GetMenuItemInfo definirá o campo cch como zero.
O membro cch é usado quando o sinalizador MIIM_STRING é definido no membro fMask .
hbmpItem
Tipo: HBITMAP
Um identificador para o bitmap a ser exibido ou pode ser um dos valores na tabela a seguir. Ele é usado quando o sinalizador MIIM_BITMAP é definido no membro fMask .
Valor | Significado |
---|---|
|
Um bitmap desenhado pela janela que possui o menu. O aplicativo deve processar as mensagens WM_MEASUREITEM e WM_DRAWITEM . |
|
Botão Fechar para a barra de menus. |
|
Botão Fechar desabilitado para a barra de menus. |
|
Botão Minimizar para a barra de menus. |
|
Botão Minimizar desabilitado para a barra de menus. |
|
Botão Restaurar para a barra de menus. |
|
Botão Fechar para o submenu. |
|
Botão Maximizar para o submenu. |
|
Botão Minimizar para o submenu. |
|
Botão Restaurar para o submenu. |
|
Ícone do Windows ou o ícone da janela especificada em dwItemData. |
Comentários
A estrutura MENUITEMINFO é usada com as funções GetMenuItemInfo, InsertMenuItem e SetMenuItemInfo .
O menu pode exibir itens usando texto, bitmaps ou ambos.
Observação
O cabeçalho winuser.h define MENUITEMINFO como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Cabeçalho | winuser.h (inclua Windows.h) |
Confira também
Conceitual
Referência