Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este grupo de artigos explica o uso de menus e recursos em aplicativos de documento MFC OLE.
A edição visual OLE coloca requisitos adicionais no menu e em outros recursos fornecidos por aplicativos de documento OLE porque há vários modos nos quais os aplicativos de contêiner e servidor (componente) podem ser iniciados e usados. Por exemplo, um aplicativo de servidor completo pode ser executado em qualquer um destes três modos:
Fique sozinho.
No local, para editar um item dentro do contexto de um contêiner.
Aberto, para editar um item fora do contexto de seu contêiner, geralmente em uma janela separada.
Isso requer três layouts de menu separados, um para cada modo possível do aplicativo. Tabelas de aceleração também são necessárias para cada novo modo. Uma aplicação de contentor pode suportar ou não a ativação no local; se isso acontecer, ela precisará de uma nova estrutura de menu e tabelas de teclas de atalho associadas.
A ativação in-place requer que as aplicações de contentor e servidor negociem espaço no menu, na barra de ferramentas e na barra de estado. Todos os recursos devem ser concebidos tendo isso em mente. O artigo Menus and Resources: Menu Merging aborda este tópico em detalhes.
Devido a esses problemas, os aplicativos de documento OLE criados com o assistente de aplicativo podem ter até quatro menus separados e recursos de tabela aceleradora. Estes são utilizados pelas seguintes razões:
| Nome do recurso | Utilização |
|---|---|
| IDR_MAINFRAME | Usado em um aplicativo MDI se nenhum arquivo estiver aberto ou em um aplicativo SDI independentemente dos arquivos abertos. Este é o menu padrão usado em aplicativos não-OLE. |
| IDR_<TIPO DE PROJETO> | Usado numa aplicação MDI caso os ficheiros estejam abertos. Usado quando um aplicativo está sendo executado de forma autônoma. Este é o menu padrão usado em aplicativos não-OLE. |
| IDR_<Projeto>TYPE_SRVR_IP | Usado pelo servidor ou contêiner quando um objeto está aberto no local. |
| IDR_<Projeto>TYPE_SRVR_EMB | Usado por uma aplicação de servidor se um objeto for aberto sem usar a ativação no local. |
Cada um desses nomes de recursos representa um menu e, geralmente, uma tabela aceleradora. Um esquema semelhante deve ser usado em aplicativos MFC que não são criados com o assistente de aplicativo.
Os artigos a seguir abordam tópicos relacionados a contentores, servidores e a fusão de menus necessária para implementar a ativação no local: