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