Compartilhar via


IMessageFormEx2

Windows Mobile SupportedWindows Embedded CE Not Supported

9/8/2008

The IMessageFormEx2 interface estende a interface IMessageFormEx com um alternativo mecanismo para consultar formulários de mensagens para com suporte menu itens — usando uma abordagem que ofereça suporte a centenas de itens menu.

Métodos na ordem TabelaV

Métodos IMessageFormEx2 Description

IMessageFormEx2::GetMenuCapability

Consulta um add-in de mensagens para determinar se ele oferece suporte a um menu específico barra de comandos. Este método oferece um alternativo mecanismo comparado com aquele usado pelo IMessageFormEx::GetMenuCapabilities.

Remarks

Desde o mecanismo usado pelo IMessageFormEx limita o número de itens menu possíveis a 32, IMessageFormEx2 foi criado para expansão esse limite por more than dez vezes.

Como IMessageFormEx::GetMenuCapabilities, IMessageFormEx2::GetMenuCapability é chamado pelo Messaging Application para consulta um add-in mensagens para determinar qual menu comandos ele pode processo (ou seja, qual menu forma comandos para habilitar e quais para desativar).

Observação

A diferença nos nomes de método dois: Uma é (pluralGetMenuCapabilities), e a outra é (singularGetMenuCapability).

Um suplemento de mensagens deve implementar o IMessageFormEx2 interface em ordem para adicionar recursos menu além do conjunto padrão de MESSAGEFORMHOST2_CMDBARCAP Sinalizadores. Para obter informações no conjunto estendido de constantes funcionalidade barra de comandos, consulte Message Form Host Command Bar Capability Flags.

Novo Comportamento para GetMenuCapabilities

Ao consultar os formulários de mensagens com base em IMessageFormEx2 com IMessageFormEx::GetMenuCapabilities, o comportamento das dwFlags parâmetro difere do que usou para formulários de mensagens criados usando IMessageFormEx. As alterações são da seguinte maneira:

  • Os bits de quatro parte superior de dwFlags se tornam "Region" bits e os 28 bits restantes são tratados como o "Recurso de menu" bits.
  • Essa abordagem fornece 16 x 28 = 448 diferente (do menu RecursosIMessageFormEx Oferece suporte a um máximo de 32).
  • Definir o estendido de barra de comandos são recursos introduzidos em Windows Mobile 6 associado com Region 1. Para uma listagem do estendido recursos, consulte O conjunto estendido de constantes recurso Barra de comando seção em Message Form Host Command Bar Capability Flags.
  • Os recursos na região 1 são nomeado como MESSAGEFORMHOST2_CMDBARCAP2_xxxe em 2 Região como MESSAGEFORMHOST2_CMDBARCAP3_xxx, etc..

Para compatibilidade com versões anteriores, a maneira de determinar se um Message Form oferece suporte ao estendido menu recursos é da seguinte maneira:

  • Quando dwFlags tem qualquer bits de região definida, mas não tem qualquer bits item menu definir — IMessageFormEx::GetMenuCapabilities é executado em um alternativo modo conhecido como Detection Mode.
  • No modo de detecção, GetMenuCapabilities Retorna (in a *pdwEnable Sem parâmetro) um máscara de bits com todos os bits Menu Capability definido como um se estendido funcionalidade é com suporte, todos os bits definidos como zero se não for.

De exemplo, a chamar GetMenuCapabilites(0x10000000, &dwEnable) Retorna 0x1fffffff Se o formulário de mensagem oferecer suporte o estendido menu Recursos, e 0x10000000 Se ele não.

O novo comportamento do aplicativo de mensagens (host de formulário) é demonstrado no seguinte exemplo de código.

#define MENU_CAPABILITY_MASK 0xfffffff
IForm->GetMenuCapabilites(dwFlags, &dwEnable);  // For Region 0 (pre-Windows Mobile 6) menu items.
...

if (SUCCEEDED(IForm->GetMenuCapabilites(0x10000000, &dwEnable)) && (dwEnable & MENU_CAPABILITY_MASK == MENU_CAPABILITY_MASK))
{
   // Loop through the extend menu capabilites.
   for (i = 1; i < 16; i++)
   {
      IForm->GetMenuCapabilites(dwFlags | (i << 28), &dwEnable);
      ...
   }
}

Requisitos

Header cemapi.h
Library cemapi.lib
Windows Mobile Windows Mobile 6 and later

See Also

Reference

IMessageFormEx

Other Resources

MAPI Interfaces
Messaging
Pocket Outlook Object Model (POOM)