Menu i zasoby: dodatki do kontenera

W tym artykule wyjaśniono zmiany, które należy wprowadzić w menu i innych zasobach w aplikacji kontenera do edycji wizualizacji.

W aplikacjach kontenerów należy wprowadzić dwa typy zmian: modyfikacje istniejących zasobów w celu obsługi edycji wizualnej OLE i dodawania nowych zasobów używanych do aktywacji w miejscu. Jeśli użyjesz kreatora aplikacji do utworzenia aplikacji kontenera, te kroki zostaną wykonane, ale mogą wymagać dostosowania.

Jeśli nie używasz kreatora aplikacji, warto zapoznać się z usługą OCLIENT. RC, skrypt zasobu dla przykładowej aplikacji OCLIENT, aby zobaczyć, jak te zmiany są implementowane. Zobacz przykładowy obiekt OCLIENT MFC OLE.

Tematy omówione w tym artykule obejmują:

Dodatki menu kontenera

Musisz dodać następujące elementy do menu Edycja:

Produkt Cel
Wstaw nowy obiekt Otwiera okno dialogowe Wstaw obiekt OLE, aby wstawić połączony lub osadzony element do dokumentu.
Wklej łącze Wkleja link do elementu w Schowku do dokumentu.
Czasownik OLE Wywołuje czasownik podstawowy wybranego elementu. Tekst tego elementu menu zmienia się w celu odzwierciedlenia podstawowego czasownika wybranego elementu.
Linki Otwiera okno dialogowe Edytowanie łączy OLE, aby zmienić istniejące połączone elementy.

Oprócz zmian wymienionych w tym artykule plik źródłowy musi zawierać listę AFXOLECL. RC, który jest wymagany do implementacji biblioteki klas programu Microsoft Foundation. Wstaw nowy obiekt jest jedynym wymaganym dodatkiem menu. Inne elementy można dodać, ale wymienione tutaj są najbardziej typowe.

Musisz utworzyć nowe menu dla aplikacji kontenera, jeśli chcesz obsługiwać aktywację w miejscu zawartych elementów. To menu składa się z tego samego menu Plik i wyskakujących menu okna używanych podczas otwierania plików, ale ma dwa separatory umieszczone między nimi. Te separatory służą do wskazywania, gdzie element serwera (składnik) (aplikacja) powinien umieszczać swoje menu po aktywowaniu. Aby uzyskać więcej informacji na temat tej techniki scalania menu, zobacz Menu i Zasoby: Scalanie menu.

Dodatki tabeli akceleratora aplikacji kontenera

Niewielkie zmiany w zasobach tabeli akceleratora aplikacji kontenera są niezbędne, jeśli obsługujesz aktywację w miejscu. Pierwsza zmiana umożliwia użytkownikowi naciśnięcie klawisza ucieczki (ESC) w celu anulowania trybu edycji w miejscu. Dodaj następujący wpis do głównej tabeli akceleratora:

ID Klucz Type
ID_CANCEL_EDIT_CNTR VK_ESCAPE VIRTKEY

Druga zmiana polega na utworzeniu nowej tabeli akceleratora odpowiadającej nowemu zasobowi menu utworzonemu na potrzeby aktywacji w miejscu. Ta tabela zawiera wpisy menu Plik i Okno oprócz wpisu VK_ESCAPE powyżej. Poniższy przykład to tabela akceleratora utworzona na potrzeby aktywacji w miejscu w przykładowym kontenerze MFC:

ID Klucz Type
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

Dodatki tabeli ciągów dla aplikacji kontenerów

Większość zmian w tabelach ciągów dla aplikacji kontenerów odpowiada dodatkowym elementom menu wymienionym w dodatku menu kontenera. Po wyświetleniu każdego elementu menu podają tekst wyświetlany na pasku stanu. Na przykład poniżej przedstawiono wpisy ciąg-tabela generowane przez kreatora aplikacji:

ID Ciąg
IDP_OLE_INIT_FAILED Inicjowanie OLE nie powiodło się. Upewnij się, że biblioteki OLE są poprawną wersją.
IDP_FAILED_TO_CREATE Nie można utworzyć obiektu. Upewnij się, że obiekt został wprowadzony w rejestrze systemowym.

Zobacz też

Menu i zasoby (OLE)
Menu i zasoby: dodatki do serwera