Menus e recursos: adições de servidor
Este artigo explica as alterações que precisam ser feitas para os menus e outros recursos em um aplicativo de servidor (componente) edição visual.Um aplicativo de servidor requer muitas adições à estrutura de menu e outros recursos porque pode ser iniciado em um dos três modos: espera sozinho, incorporado, ou no lugar.Conforme descrito na Menus e recursos (OLE) do artigo, há um máximo de quatro conjuntos de menus.Todos os quatro são usados para um aplicativo de servidor completo MDI, enquanto somente três são usados para um miniserver.O Assistente de aplicativo criará o layout do menu necessários para o tipo de servidor que você deseja.Alguns 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
Adições de tabela do acelerador
Adições de miniserver
Adições de Menu do servidor
Aplicativos de servidor (componente) devem ter recursos de menu adicionados para dar suporte a edição visual do OLE.Os menus usados quando o aplicativo é executado no modo autônomo não precisam ser alterado, mas você deve adicionar dois novos recursos de menu antes de construir o aplicativo: um para oferecer suporte a ativação in-loco e um suporte de servidor sendo totalmente aberta.Ambos os recursos de menu são usados por aplicativos completo e miniserver.
Para oferecer suporte a ativação in-loco, você deve criar um recurso de menu que é muito semelhante ao recurso de menu usado quando executado no modo autônomo.A diferença nesse menu é que os itens de arquivo e janela (e 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, essa técnica de mesclagem de menus, consulte o artigo Menus e recursos: Menu mesclagem.
Para oferecer suporte totalmente abrir ativação, você deve criar um recurso de menu praticamente idêntico do recurso de menu usado quando executado no modo autônomo.A única modificação a esse recurso de menu é que alguns itens são reworded para refletir o fato de que o servidor estiver operando em um item incorporado em um documento composto.
Além de alterações listadas neste artigo, o arquivo de recurso precisa incluir AFXOLESV.RC, é necessário para a implementação da biblioteca Microsoft Foundation Class.Este arquivo está na subpasta MFC\Include.
Adições de tabela do servidor Application Accelerator
Dois novos recursos de tabela do acelerador devem ser adicionados a aplicativos de servidor; eles correspondem diretamente aos novos recursos de menu descritos anteriormente.A primeira tabela do acelerador é usada quando o aplicativo de servidor é ativado no lugar.Ele consiste em todas as entradas na tabela de teclas aceleradoras do modo de exibição, exceto aqueles vinculados ao arquivo e janela menus.
A segunda tabela é quase uma cópia exata da tabela do acelerador do modo de exibição.Quaisquer diferenças paralela as alterações feitas no menu totalmente aberto mencionado no Servidor Menu adições.
Um exemplo dessas alterações de tabela do acelerador, comparar o IDR_HIERSVRTYPE_SRVR_IP e IDR_HIERSVRTYPE_SRVR_EMB accelerator tabelas com IDR_MAINFRAME no HIERSVR.Arquivo RC incluído no MFC OLE exemplo HIERSVR.Aceleradores de arquivos e janela estão ausentes da tabela local e cópias exatas de que eles estão na tabela incorporada.
Adições de tabela de seqüência de caracteres para aplicativos de servidor
Adição de tabela somente uma seqüência de caracteres é necessária em um aplicativo de servidor — uma cadeia de caracteres para indicar que a inicialização OLE falhou.Por exemplo, aqui está a entrada da tabela de seqüência de caracteres que o Assistente de aplicativo gera:
ID |
Cadeia de caracteres |
---|---|
IDP_OLE_INIT_FAILED |
Falha na inicialização da OLE.Certifique-se de que as bibliotecas OLE estão na versão correta. |
Adições de miniserver
Adições mesmas aplicam para miniservers como os listados acima para servidores completo.Porque um miniserver não pode ser executado no modo autônomo, o menu principal é muito menor.No menu principal, criado pelo Assistente de aplicativo possui apenas um menu de arquivo, contendo apenas os itens de saída e em sobre.Menus incorporados e no local e aceleradores para miniservers são as mesmas para servidores completo.