Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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. |