Partilhar via


Menus e recursos: adições de servidor

Este artigo explica as alterações que precisam ser feitas nos menus e outros recursos em um aplicativo de servidor de edição visual (componente). Uma aplicação de servidor requer muitas adições à estrutura de menu e a outros recursos, porque pode ser iniciada em um dos três modos: independente, incorporado ou localmente. Conforme descrito no artigo Menus e recursos (OLE), há um máximo de quatro conjuntos de menus. Todos os quatro são usados para um aplicativo MDI full-server, enquanto apenas três são usados para um miniserver. O assistente do aplicativo criará o layout de menu necessário para o tipo de servidor desejado. Alguma personalização pode ser necessária.

Se você não usar o assistente de aplicativo, você pode querer olhar para HIERSVR. RC, o script de recurso para o aplicativo de exemplo MFC HIERSVR, para ver como essas alterações são implementadas.

Os tópicos abordados neste artigo incluem:

Adições ao menu do servidor

Os aplicativos de servidor (componente) devem ter recursos de menu adicionados para suportar a edição visual OLE. Os menus usados quando o aplicativo é executado no modo autónomo não precisam ser alterados, mas deve adicionar dois novos recursos de menu antes de criar o aplicativo: um para suportar a ativação in situ e outro quando o servidor está totalmente aberto. Ambos os recursos de menu são usados por aplicações completas e mini-servidor.

  • Para dar suporte à ativação local, deve criar um menu muito semelhante ao utilizado quando executado no modo autónomo. A diferença neste menu é que os itens Arquivo e Janela (e quaisquer outros itens de menu que lidam com o aplicativo, e não com os dados) estão faltando. O aplicativo de contêiner fornecerá esses itens de menu. Para obter mais informações e um exemplo dessa técnica de mesclagem de menus, consulte o artigo Menus e recursos: mesclagem de menus.

  • Para suportar a ativação totalmente aberta, você deve criar um recurso de menu quase idêntico ao recurso de menu usado quando executado no modo autônomo. A única modificação para este recurso de menu é que alguns itens são reformulados para refletir o fato de que o servidor está operando em um item incorporado em um documento composto.

Além das alterações listadas neste artigo, seu arquivo de recurso precisa incluir AFXOLESV. RC, que é necessário para a implementação da Microsoft Foundation Class Library. Este arquivo está no subdiretório MFC\Include.

Adições à Tabela do Acelerador de Aplicações de Servidor

Dois novos recursos de tabela aceleradora devem ser adicionados aos aplicativos de servidor; eles correspondem diretamente aos novos recursos do menu descritos anteriormente. A primeira tabela de aceleração é usada quando o aplicativo de servidor é ativado no local. Ele consiste em todas as entradas na tabela aceleradora da exibição, exceto aquelas vinculadas aos menus Arquivo e Janela.

A segunda tabela é quase uma cópia exata da tabela aceleradora da exibição. Quaisquer diferenças são paralelas às alterações feitas no menu totalmente aberto mencionado em Adições ao menu do servidor.

Para obter um exemplo dessas alterações na tabela de aceleradores, compare as tabelas de aceleradores IDR_HIERSVRTYPE_SRVR_IP e IDR_HIERSVRTYPE_SRVR_EMB com IDR_MAINFRAME no ficheiro HIERSVR.RC incluído no exemplo OLE MFC HIERSVR. Os aceleradores "Arquivo" e "Janela" estão ausentes da tabela in-place e cópias exatas deles estão na tabela incorporada.

Adições de tabela de cadeia de caracteres para aplicativos de servidor

Apenas uma adição de tabela de cadeia de caracteres é necessária em um aplicativo de servidor — uma cadeia de caracteres para indicar que a inicialização OLE falhou. Como exemplo, aqui está a entrada da tabela de strings que o assistente da aplicação gera.

Nº de Identificação Cordão
IDP_OLE_INIT_FAILED Falha na inicialização do OLE. Certifique-se de que as bibliotecas OLE são a versão correta.

Adições de Minisservidor

As mesmas adições se aplicam aos miniservidores como as listadas acima para servidores completos. Como um miniservidor não pode ser executado no modo autônomo, seu menu principal é muito menor. O menu principal criado pelo assistente do aplicativo tem apenas um menu Arquivo, contendo apenas os itens Sair e Sobre. Os menus e aceleradores incorporados e no local para miniservidores são os mesmos que para servidores completos.

Ver também

Menus e Recursos (OLE)
Menus e Recursos: Mesclagem de Menus