Compartilhar via


Menus e recursos: Adições de servidor

Este artigo explica as alterações que precisam ser feitas nos menus e em outros recursos em um aplicativo de servidor de edição visual (componente). Um aplicativo de servidor requer muitas adições à estrutura de menus e outros recursos porque ele pode ser iniciado em um dos três modos: autônomo, inserido ou no local. Conforme descrito no artigo OLE (Menus e Recursos ), há no máximo quatro conjuntos de menus. Todos os quatro são usados para um aplicativo de servidor completo MDI, enquanto apenas três são usados para um miniservidor. O assistente de 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, convém examinar 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 de menu do servidor

Aplicativos de servidor (componente) devem ter recursos de menu adicionados para dar suporte à edição visual OLE. Os menus usados quando o aplicativo é executado no modo autônomo não precisam ser alterados, mas você deve adicionar dois novos recursos de menu antes de criar o aplicativo: um para dar suporte à ativação in-loco e outro para dar suporte ao servidor que está totalmente aberto. Ambos os recursos de menu são usados por aplicativos completos e miniservidor.

  • Para dar suporte à ativação in-loco, você deve criar um recurso de menu muito semelhante ao recurso de menu usado 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 os dados) estão ausentes. O aplicativo de contêiner fornecerá esses itens de menu. Para obter mais informações sobre e um exemplo dessa técnica de mesclagem de menus, consulte o artigo Menus e Recursos: Mesclagem de Menus.

  • Para dar suporte à 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 nesse recurso de menu é que alguns itens são reformulados para refletir o fato de que o servidor está operando em um item inserido 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 Biblioteca de Classes do Microsoft Foundation. Esse arquivo está no subdiretório MFC\Include.

Adições de tabela do acelerador de aplicativo do servidor

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

A segunda tabela é quase uma cópia exata da tabela de aceleradores do modo de exibição. Quaisquer diferenças de alterações paralelas feitas no menu totalmente aberto mencionado em Adições de Menu do Servidor.

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

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

Somente uma adição de tabela de cadeia de caracteres é necessária em um aplicativo de servidor – uma cadeia de caracteres para significar que a inicialização OLE falhou. Por exemplo, aqui está a entrada de tabela de cadeia de caracteres que o assistente de aplicativo gera:

Número de Identificação fio
IDP_OLE_INIT_FAILED Falha na inicialização OLE. Verifique se as bibliotecas OLE são a versão correta.

Adições de miniservidor

As mesmas adições se aplicam aos miniservadores listados 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 de aplicativo tem apenas um menu Arquivo, contendo apenas os itens Exit e About. Os menus e aceleradores inseridos e in-loco para miniservadores são os mesmos para servidores completos.

Consulte também

Menus e recursos (OLE)
Menus e recursos: mesclagem de menu