Menus e recursos: adições de contêiner
Este artigo explica as alterações que precisam ser feitas nos menus e outros recursos em um aplicativo de contêiner visual de edição.
Em aplicativos de contêiner, dois tipos de alterações precisarem ser feitas: alterações em recursos existentes para dar suporte à edição visual OLE e a adição de novas recursos usados para a ativação local. Se você usar o assistente de aplicativo para criar o aplicativo de contêiner, essas etapas serão executadas para você, mas podem exigir personalização.
Se você não usar o assistente de aplicativo, talvez você queira examinar OCLIENT.RC, o script de recursos para o aplicativo de exemplo de OCLIENT, consulte como essas alterações são implementadas. Consulte o exemplo OCLIENTMFC OLE.
Os tópicos abordados neste artigo incluem:
Adições de menu do contêiner
Adições da tabela de aceleração
Adições da tabela de cadeia de caracteres
Adições de menu do contêiner
Você deve adicionar os seguintes itens ao menu editar:
Item |
Finalidade |
---|---|
Novo objeto de inserção |
Abre a caixa de diálogo OLE do objeto de inserção para inserir um item vinculado ou inserido no documento. |
Link de pasta |
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 desse item de menu é alterado para refletir o verbo primário do item selecionado. |
Links |
Abre a caixa de diálogo OLE de Links de edição para alterar itens vinculados existentes. |
Além das alterações listadas neste artigo, o arquivo de origem deve incluir AFXOLECL.RC, que é necessário para a implementação da biblioteca de classes do Microsoft. O novo objeto de inserção é a única adição necessário no menu. Outros itens podem ser adicionados, mas as listadas aqui são mais comuns.
Você deve criar um novo menu para seu aplicativo de contêiner se você quer dar suporte a ativação in-loco de itens contidos. Esse menu consiste no mesmo menu arquivo e o menu pop-up de janela usados quando os arquivos são abertos, mas tem dois separadores colocados entre eles. Esses separadores são usados para indicar onde o item do servidor (componente de aplicativo) () deve colocar os menus quando ativado no lugar. Para obter mais informações sobre essa técnica menu- mesclando, consulte Menus e recursos: A mesclagem de menu.
Adições da tabela de aceleração do aplicativo de contêineres
As pequenas alterações nos recursos de tabela de aceleração de aplicativo de contêineres são necessárias se você estiver com suporte a ativação local. A primeira alteração permite que o usuário pressione a tecla de escape (ESC) para cancelar o modo de edição no local. Adicione a seguinte entrada à tabela de aceleração principal:
ID |
Chave |
Tipo |
---|---|---|
ID_CANCEL_EDIT_CNTR |
VK_ESCAPE |
VIRTKEY |
A segunda alteração é criar uma nova tabela de aceleração que corresponde ao novo recurso no menu criado para a ativação local. Esta tabela tem entradas para os menus de Arquivo e da janela além da entrada de VK_ESCAPE acima. O exemplo a seguir é a tabela de aceleração criada para o ativação no local no exemplo CONTÊINERMFC:
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 da 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 correspondem aos itens de menu adicionais mencionados em Adições de menu do contêiner. Fornecem o texto exibido na barra de status quando cada item de menu é exibido. Como um exemplo, aqui estão as entradas de cadeia de caracteres- tabela o assistente de aplicativo gerencie:
ID |
Cadeia de caracteres |
---|---|
IDP_OLE_INIT_FAILED |
Falha na inicialização da OLE. Certifique-se de que as bibliotecas do são a versão correta. |
IDP_FAILED_TO_CREATE |
Falha ao criar o objeto. Certifique-se de que o objeto é inserida no Registro do sistema. |