Menus e recursos (OLE)

Este agrupar de artigos explica o uso de menus e recursos em aplicativos de documento OLE do MFC.

OLE edição visual coloca requisitos adicionais no menu e outros recursos fornecidos por aplicativos de documento OLE porque há um número de modos nos quais os dois contêiner e aplicativos de servidor (componente) podem ser iniciados e usados.Por exemplo, um aplicativo de servidor completo pode executar em qualquer um desses três modos:

  • Estará sozinho.

  • No local, para editar um item dentro do contexto de um contêiner.

  • em em aberto para editar um item fora do contexto de seu contêiner, geralmente em uma janela separada.

Isso exige três layouts de menu separados, uma para cada modo possível do aplicativo.Acelerador tabelas também são necessárias para cada novo modo.Um aplicativo de contêiner pode ou talvez não ofereça suporte a ativação no local; caso afirmativo, ele precisa de uma nova estrutura de menu e associado a tabelas de acelerador.

Ativação in-loco requer que os aplicativos de contêiner e o servidor devem negociar para o espaço de BAR de menu, BAR de ferramentas e status.Todos os recursos devem ser projetados tendo isso em mente.O artigo Menus e recursos: Menu mesclagem aborda esse tópico em detalhes.

Devido a esses problemas de aplicativos de documento OLE criados com o Assistente de aplicativo podem ter até quatro menus separados e recursos de tabela do acelerador.Elas são usadas pelos seguintes motivos:

Nome do recurso

Uso

IDR_MAINFRAME

Usado em um aplicativo MDI se nenhum arquivo for em aberto ou em um aplicativo SDI independentemente de arquivos abertos.Esse é o menu padrão usado em aplicativos OLE não.

IDR_ <projeto>TYPE

Usado em um aplicativo MDI se os arquivos estiverem abertos.Usado quando um aplicativo está sendo executado independente.Esse é o menu padrão usado em aplicativos OLE não.

IDR_ <projeto>TYPE_SRVR_IP

Usado pelo servidor ou contêiner quando um objeto é em aberto no lugar.

IDR_ <projeto>TYPE_SRVR_EMB

Usada por um aplicativo de servidor se um objeto é aberto sem usar a ativação in-loco.

Cada um desses nomes de recursos representa um menu e, em geral, uma tabela do acelerador.Um esquema semelhante deve ser usado em aplicativos MFC que não são criados com o Assistente de aplicativo.

Os seguintes artigos abordam tópicos relacionados a recipientes, servidores e o menu de mesclagem necessários para implementar a ativação in-loco:

Consulte também

Conceitos

OLE no MFC