Udostępnij przez


Menu i zasoby: rozszerzenia 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 plikiem OCLIENT.RC, skryptem zasobów przykładowej aplikacji OCLIENT, aby zobaczyć, jak te zmiany są wdrażane. Zobacz przykładowy projekt MFC OLE OCLIENT.

Tematy omówione w tym artykule obejmują:

Dodatki menu kontenera

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

Przedmiot Przeznaczenie
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ć AFXOLECL.RC, który jest wymagany do implementacji Biblioteki klas Microsoft Foundation. Opcja "Wstaw nowy obiekt" jest jedynym wymaganym dodatkiem do 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' oraz wyskakującego menu 'Okno' używanych, gdy pliki są otwarte, 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 do tabeli akceleratora dla aplikacji kontenerowych

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 ucieczki (ESC) w celu anulowania trybu edycji w miejscu. Dodaj następujący wpis do głównej tabeli akceleratora:

Identyfikator Klawisz Typ
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. Tabela zawiera pozycje dla menu Plik i Okno, oprócz wpisu VK_ESCAPE powyżej. Poniższy przykład to tabela przyspieszeń utworzona na potrzeby bezpośredniej aktywacji w przykładowym kontenerze MFC CONTAINER:

Identyfikator Klawisz Typ
ID_FILE_NEW CTRL+N VIRTKEY
ID_PLIK_OTWÓRZ CTRL+O VIRTKEY
ID_PLIK_ZAPISZ CTRL+S VIRTKEY
ID_PLIK_DRUKUJ CTRL+P VIRTKEY
ID_NASTĘPNE_OKNO VK_F6 VIRTKEY
ID_PREV_PANE SHIFT+VK_F6 VIRTKEY
ID_CANCEL_EDIT_CNTR VK_ESCAPE VIRTKEY

Dodatki do tabel ciągów znaków dla aplikacji kontenerowych

Większość zmian w tabelach ciągów znaków dla aplikacji kontenerowych jest związana z dodatkowymi elementami menu wymienionymi w Dodatki do 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:

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

Zobacz także

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