Compartilhar via


Menus e recursos: adições de contêiner

Este artigo explica as alterações que precisam ser feitas nos menus e em outros recursos em um aplicativo de contêiner de edição visual.

Em aplicativos de contêiner, dois tipos de alterações precisam ser feitos: modificações em recursos existentes para dar suporte à edição visual OLE e adição de novos recursos usados para ativação in-loco. Se você usar o assistente de aplicativo para criar seu aplicativo de contêiner, essas etapas serão feitas para você, mas elas podem exigir alguma personalização.

Se você não usar o assistente de aplicativo, talvez queira examinar o OCLIENT.RC, o script de recurso do aplicativo de exemplo OCLIENT, para ver como essas alterações são implementadas. Consulte o OCLIENT de exemplo OLE do MFC.

Os tópicos abordados neste artigo incluem:

Adições de menu de contêiner

Você deve adicionar os seguintes itens ao menu Editar:

Item Finalidade
Inserir Novo Objeto Abre a caixa de diálogo OLE Inserir objeto para inserir um item vinculado ou inserido no documento.
Colar Link Cola um link para o item na Área de Transferência no documento.
Verbo OLE Chama o verbo primário do item selecionado. O texto deste item de menu é alterado para refletir o verbo primário do item selecionado.
Links Abre a caixa de diálogo Editar Links do OLE para alterar itens vinculados existentes.

Além das alterações listadas neste artigo, seu arquivo de origem precisa incluir o AFXOLECL.RC, que é necessário para a implementação da biblioteca Microsoft Foundation Class. Inserir Novo Objeto é a única adição de menu necessária. Outros itens podem ser adicionados, mas os listados aqui são os mais comuns.

Você deve criar um novo menu para seu aplicativo de contêiner se quiser dar suporte à ativação in-loco de itens contidos. Esse menu consiste no mesmo menu Arquivo e menus pop-up da janela usados quando os arquivos estão abertos, mas tem dois separadores colocados entre eles. Esses separadores são usados para indicar onde o item (componente) do servidor (aplicativo) deve colocar seus menus quando ativado no local. Para obter mais informações sobre essa técnica de mesclagem de menus, consulte Menus e recursos: mesclagem de menus.

Adições de tabela de aceleradores dos aplicativos de contêiner

São necessárias pequenas alterações nos recursos da tabela de aceleradores de um aplicativo de contêiner se você estiver dando suporte à ativação in-loco. A primeira alteração permite que o usuário pressione a tecla de escape (ESC) para cancelar o modo de edição in-loco. Adicione a seguinte entrada à tabela de acelerador principal:

ID Chave Tipo
ID_CANCEL_EDIT_CNTR VK_ESCAPE VIRTKEY

A segunda alteração é a criação de uma nova tabela de acelerador que corresponda ao novo recurso de menu criado para ativação in-loco. Essa tabela tem entradas para os menus Arquivo e Janela, além da entrada VK_ESCAPE acima. O exemplo a seguir é a tabela de acelerador criada para ativação in-loco no CONTÊINER de exemplo do MFC:

ID Chave Tipo
ID_FILE_NEW Ctrl+N VIRTKEY
ID_FILE_OPEN Ctrl+O VIRTKEY
ID_FILE_SAVE Ctrl+S VIRTKEY
ID_FILE_PRINT CTRL+P VIRTKEY
ID_NEXT_PANE VK_F6 VIRTKEY
ID_PREV_PANE SHIFT+VK_F6 VIRTKEY
ID_CANCEL_EDIT_CNTR VK_ESCAPE VIRTKEY

Adições de tabela de cadeia de caracteres para aplicativos de contêiner

A maioria das alterações nas tabelas de cadeia de caracteres para aplicativos de contêiner corresponde aos itens de menu adicionais mencionados nas Adições de Menu de Contêiner. Eles fornecem o texto exibido na barra de status quando cada item de menu é exibido. Como exemplo, aqui estão as entradas da tabela de cadeia de caracteres que o assistente de aplicativo gera:

ID String
IDP_OLE_INIT_FAILED Falha na inicialização do OLE. Verifique se as bibliotecas OLE estão na versão correta.
IDP_FAILED_TO_CREATE Falha ao criar objeto. Verifique se o objeto foi inserido no registro do sistema.

Confira também

Menus e recursos (OLE)
Menus e recursos: adições de servidor