Compartilhar via


Menus e recursos: Menu mesclagem

Este artigo detalha as etapas necessárias para aplicativos de documento OLE para lidar com edição visual e ativação in-loco corretamente.Ativação in-loco representa um desafio para contêiner e o servidor de aplicativos (componente).O usuário permanece na mesma janela do quadro (dentro do contexto do documento contêiner), mas está realmente executando outro aplicativo (o servidor).Isso requer coordenação entre os recursos de aplicativos de contêiner e servidor.

Os tópicos abordados neste artigo incluem:

  • Layouts de menu

  • Barras de ferramentas e barras de status

Layouts de menu

A primeira etapa é coordenar os layouts de menu.Para obter mais informações, consulte o Criação de menu seção Considerações sobre programação de menu in the Windows SDK.

Os aplicativos recipientes devem criar um novo menu a ser usada somente quando itens incorporados são ativados no lugar.No mínimo, esse menu deve consistir no seguinte, na ordem listada:

  1. Menu Arquivo idêntico ao usado quando os arquivos são em aberto.(Geralmente não outros itens de menu são colocados antes do próximo item.)

  2. Dois separadores consecutivos.

  3. Menu da janela idêntico ao usado quando os arquivos são em aberto (somente se o aplicativo contêiner em um aplicativo MDI).Alguns aplicativos podem ter outros menus, sistema autônomo um menu de opções, pertencentes a esse agrupar, que permanecerá no menu quando um item incorporado é ativado no lugar.

    Observação:

    Pode haver outros menus que afetam a exibição de documento contêiner, sistema autônomo o aplicar aplicar zoom.Esses contêiner menus aparecem entre os dois separadores esse recurso de menu.

Aplicativos de servidor (componente) também devem criar um novo menu especificamente para ativação in-loco.Ele deve ser sistema autônomo o menu usado quando arquivo sistema autônomo estiverem abertos, mas sem itens de menu, sistema autônomo arquivo e Window manipular o documento do servidor em vez dos dados.Normalmente, esse menu consiste no seguinte:

  1. Edite menu idêntico ao usado quando há arquivos abertos.

  2. Separador.

  3. Menus, sistema autônomo o menu de caneta no aplicativo de exemplo Rabisco de edição de objeto.

  4. Separador.

  5. Menu Ajuda.

Para obter um exemplo, observe o layout de alguns menus no local de exemplo para um contêiner e um servidor.Os detalhes de cada item de menu foram removidos para que o exemplo mais claro.Menu de no local do contêiner tem as seguintes entradas:

IDR_CONTAINERTYPE_CNTR_IP MENU PRELOAD DISCARDABLE 
BEGIN
    POPUP "&File C1"
    MENUITEM SEPARATOR
    POPUP "&Zoom C2"
    MENUITEM SEPARATOR
    POPUP "&Options C3"
    POPUP "&Window C3"
END

Os separadores consecutivos indicam onde deve ir a primeira parte do menu do servidor.Agora examine o menu de no local do servidor:

IDR_SERVERTYPE_SRVR_IP MENU PRELOAD DISCARDABLE 
BEGIN
    POPUP "&Edit S1"
    MENUITEM SEPARATOR
    POPUP "&Format S2"
    MENUITEM SEPARATOR
    POPUP "&Help S3"
END

Os separadores aqui indicam onde o segundo agrupar de itens de menu contêiner deve ir.A estrutura de menu resultante quando um objeto deste servidor está ativado no local dentro deste contêiner tem esta aparência:

BEGIN
    POPUP "&File C1"
    POPUP "&Edit S1"
    POPUP "&Zoom C2"
    POPUP "&Format S2"
    POPUP "&Options C3
    POPUP "&Window C3"
    POPUP "&Help S3"
END

sistema autônomo você pode ver, sistema autônomo separadores foram substituídos com diferentes grupos de menu cada aplicativo.

Acelerador tabelas associadas ao menu local também devem ser fornecidas pelo aplicativo servidor.O contêiner irá incorporá-los suas próprias tabelas de acelerador.

Quando um item incorporado é ativado no lugar, a estrutura carrega menu no local.Em seguida, solicita o aplicativo do servidor para o menu de ativação no local e inserí-lo onde estão os separadores.Isso é como combinam os menus.Obtenha menus do contêiner para operar no posicionamento de arquivos e janela e obter os menus do servidor para a operação no item.

Barras de ferramentas e barras de status

Aplicativos de servidor devem criar uma nova barra de ferramentas e armazenar seu bitmap em um arquivo separado.Os aplicativos de assistente–generated de aplicativo armazenam esse bitmap em um arquivo chamado ITOOLBAR.BMP.A nova barra de ferramentas substitui a barra de ferramentas do aplicativo contêiner quando o item do seu servidor está ativado no local e deve conter sistema autônomo mesmos itens de sua barra de ferramentas normal, mas remover ícones que representam itens em menus arquivo e a janela.

Essa barra de ferramentas é carregada no seu COleIPFrameWnd-derivada da classe, criado para você pelo Assistente do aplicativo. A BAR de status é manipulada pelo aplicativo contêiner.Para obter mais informações sobre a implementação de janelas de quadro no local, consulte Servidores: Implementando um servidor.

Consulte também

Conceitos

Menus e recursos (OLE)

Ativação (C++)

Servidores

Recipientes