Menus e recursos (OLE)
Este grupo 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 no qual ambos 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:
Autônomo.
No local, para editar um item dentro do contexto de um contêiner.
Abrir para editar um item fora do contexto de seu recipiente, geralmente em uma janela separada.
Isso exige três layouts de menu separados, um 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 não suporte a ativação in-loco; Se não, precisa de uma nova estrutura de menu e associado a tabelas de acelerador.
Ativação in-loco requer aplicativos contêiner e o servidor devem negociar espaço barra de menu, barra de ferramentas e de status.Todos os recursos devem ser projetados com isso em mente.O artigo Menus e recursos: Menu mesclagem aborda esse tópico em detalhes.
Devido esses problemas, aplicativos de documento OLE criados com o Assistente de aplicativo podem ter até quatro menus separados e recursos de tabela do acelerador.Eles são usados pelos seguintes motivos:
Nome do recurso |
Uso |
---|---|
IDR_MAINFRAME |
Usado em um aplicativo MDI se nenhum arquivo for aberto ou em um aplicativo SDI independentemente de arquivos abertos.Esse é o menu padrão usado em aplicativos não-OLE. |
IDR _ tipo <project> |
Usado em um aplicativo MDI se há arquivos abertos.Usado quando um aplicativo está em execução autônomo.Esse é o menu padrão usado em aplicativos não-OLE. |
IDR _ <project> TYPE_SRVR_IP |
Usado pelo servidor ou contêiner quando um objeto é aberto no lugar. |
IDR _ <project> TYPE_SRVR_EMB |
Usado por um aplicativo de servidor se um objeto é aberto sem usar a ativação in-loco. |
Cada um desses nomes de recurso representa um menu e, normalmente, uma tabela de aceleração.Um esquema semelhante deve ser usado em aplicativos do MFC não são criados com o Assistente de aplicativo.
Os seguintes artigos discutem tópicos relacionados a recipientes, servidores e o menu mesclagem necessários para implementar a ativação in-loco: