Configuração o Sinalizar de desenho proprietário

Você não pode definir um item de menu owner-drawn no arquivo de definição de recurso do seu aplicativo. Em vez disso, você deve criar um novo item de menu ou modificar um existente usando o Sinalizar de menu MFT_OWNERDRAW.

Você pode usar o InsertMenuItem ou SetMenuItemInfo função para especificar um item de menu owner-drawn. Use InsertMenuItem para inserir um novo menu item na posição especificada em uma barra de menus ou um menu. Use SetMenuItemInfo para alterar o conteúdo de um menu.

Ao chamar essas duas funções, você deve especificar o endereço de um MENUITEMINFO estrutura, dando as propriedades do novo item de menu ou as propriedades que deseja alterar para um item de menu existente. Para tornar um item um owner-drawn item, especificar o valor MIIM_TYPE para o fMask membro e o valor MFT_OWNERDRAW para o fType membro.

Por configuração os membros apropriados do MENUITEMINFO estrutura, você pode associar um valor application-defined que é chamado de dados do item, com cada item de menu. Para fazer isso, especificar o valor MIIM_DATA para o fMask membro e o valor application-defined para o membro dwItemData.

Você pode usar dados de item com qualquer tipo de item de menu, mas ele é particularmente útil para itens do desenho proprietário. Por exemplo, suponha que uma estrutura contém informações usadas para desenhar um item de menu. Um aplicativo pode usar os dados de item para um item de menu para armazenar um ponteiro para a estrutura. Os dados do item são enviados para janela de proprietário do menu com a WM_MEASUREITEM e WM_DRAWITEM mensagens. Para recuperar os dados do item de um menu em qualquer momento, use a GetMenuItemInfo função.

Aplicativos escritos para versões anteriores do sistema podem continuar a chamar AppendMenu, InsertMenuou ModifyMenu para atribuir a bandeira MF_OWNERDRAW para um item de menu owner-drawn.

Quando você chamar qualquer uma dessas três funções, você pode passar um valor de 32 bits como o lpNewItem parâmetro. Esse valor pode representar qualquer informação que seja significativo para seu aplicativo, e que estarão disponíveis para seu aplicativo quando o item está a ser exibido. Por exemplo, o valor pode conter um ponteiro para uma estrutura; a estrutura, por sua vez, pode conter uma Cadeia de caracteres de texto e o identificador para uma fonte lógico que seu aplicativo será usada para desenhar a seqüência de caracteres.

Index