Menus e recursos (OLE)
Este grupo de artigos explica o uso de menus e recursos em aplicativos OLE do documento MFC.
Requisitos adicionais de locais visuais OLE de edição no menu e outros recursos fornecidos por aplicativos OLE do documento porque há um número de modos nos quais os aplicativos do contêiner e do servidor (componente) podem ser iniciados e usado. Por exemplo, um aplicativo de servidor completo pode executar em qualquer um de três modos:
Suporte apenas.
No lugar, para editar um item dentro do contexto de um contêiner.
Abrir, editando um item fora do contexto do respectivo contêiner, frequentemente em uma janela separada.
Isso exige três layouts separados no menu, um para cada modo que o aplicativo. As tabelas de aceleração também são necessárias para cada novo modo. Um aplicativo de contêiner pode ou não der suporte à ativação in-loco; em caso afirmativo, precisa de uma nova estrutura de menu e tabelas de aceleração associados.
O ativação in-loco exige que o contêiner e aplicativos para servidores devem para negociar o menu, na barra de ferramentas, e o espaço da barra de status. Todos os recursos devem ser criados com isso em mente. O artigo Menus e recursos: A mesclagem de menu este tópico abrange em detalhes.
Devido a esses problemas, os aplicativos OLE de documentos criados com o assistente de aplicativo podem ter até quatro menus e recursos separados da tabela de aceleração. Esses são usados pelos seguintes motivos:
Nome do recurso |
Uso |
---|---|
IDR_MAINFRAME |
Usado em um aplicativo MDI se nenhum arquivo é aberto, ou em um aplicativo de SDI independentemente dos arquivos abertos. Este é o menu padrão usado em aplicativos de não OLE. |
IDR_projectTYPE<> |
Usado em um aplicativo MDI se os arquivos estão abertos. Usado quando um aplicativo é executado de modo autônomo. Este é o menu padrão usado em aplicativos de não OLE. |
<>IDR_projectTYPE_SRVR_IP |
Usado pelo servidor ou do contêiner quando um objeto está aberto no lugar. |
<>IDR_projectTYPE_SRVR_EMB |
Usado por um aplicativo de servidor se um objeto é aberto sem usar a ativação local. |
Cada um desses nomes de recurso representará um menu e, geralmente, uma tabela de aceleração. Um esquema semelhante deve ser usado em aplicativos MFC que não são criados com o assistente de aplicativo.
Os artigos a seguir discutem os tópicos relacionados aos contêineres, a servidores, e à mesclagem de menu necessário para implementar a ativação no local: