Udostępnij za pośrednictwem


Menu i zasoby: scalanie menu

W tym artykule opisano kroki konieczne do aplikacji OLE dokumentu do obsługi edycji wizualnej i aktywacja w miejscu prawidłowo.Aktywacja w miejscu stanowi wyzwanie dla kontenera i serwera aplikacji (składnik).Użytkownik pozostaje w tym samym oknie ramki (w kontekście dokumentu kontenera), ale jest uruchomiona inna aplikacja (serwer).Wymaga koordynacji między zasobami kontenera i serwera aplikacji.

Omówione w tym artykule tematy obejmują:

  • Układy menu

  • Paski narzędzi i paski stanu

Układy menu

Pierwszym krokiem jest koordynowanie układy menu.Aby uzyskać więcej informacji, zobacz Tworzenie Menu w sekcji Uwagi dotyczące programowania w Menu w Windows SDK.

Aplikacji kontenera należy utworzyć nowe menu ma być używany tylko podczas osadzone elementy są aktywowane w miejscu.Na minimalnym poziomie w tym menu powinien składać się z następujących czynności w podanej kolejności:

  1. Menu Plik jest identyczna z używany, gdy pliki są otwarte. (Zazwyczaj żadne inne elementy menu są umieszczane przed następny element.)

  2. Dwa kolejne separatory.

  3. Identyczna z używany, gdy pliki są otwarte okno menu (tylko w przypadku aplikacji kontenera w aplikacji MDI).Niektóre aplikacje mogą mieć inne menu, na przykład opcje menu, które należą do tej grupy, która pozostaje w menu po aktywowaniu elementu osadzonego w miejscu.

    [!UWAGA]

    Mogą istnieć inne menu, które wpływają na widok dokumentu kontenera, na przykład powiększenia.Tych menu kontener pojawiają się między dwa separatory w tym zasobie menu.

Aplikacje serwera (składnik) należy również utworzyć nowe menu specjalnie dla aktywacji w miejscu.Powinna ona jak menu używany, gdy pliki są otwarte, ale bez elementów menu, takich jak plik i okna, w którym manipulować dokumentu na serwerze zamiast danych.Zazwyczaj to menu składa się z następujących czynności:

  1. Edycja, menu identyczna z używany, gdy pliki są otwarte.

  2. Separator.

  3. Edycja menu, na przykład menu Pióro w przykładowej aplikacji bazgrołów obiektu.

  4. Separator.

  5. Menu Pomoc.

Na przykład Spójrz na układ niektóre próbki w miejscu menu dla kontenera a serwerem.Aby przykłady były bardziej przejrzyste zostały usunięte szczegóły każdego elementu menu.Kontener w miejscu menu zawiera następujące wpisy:

IDR_CONTAINERTYPE_CNTR_IP MENU PRELOAD DISCARDABLE 
BEGIN
    POPUP "&File C1"
    MENUITEM SEPARATOR
    POPUP "&Zoom C2"
    MENUITEM SEPARATOR
    POPUP "&Options C3"
    POPUP "&Window C3"
END

Separatory kolejnych wskazują, gdzie pierwsza część menu serwera.Spójrzmy teraz serwer w miejscu menu:

IDR_SERVERTYPE_SRVR_IP MENU PRELOAD DISCARDABLE 
BEGIN
    POPUP "&Edit S1"
    MENUITEM SEPARATOR
    POPUP "&Format S2"
    MENUITEM SEPARATOR
    POPUP "&Help S3"
END

Separatory tutaj wskazują, gdzie druga grupa elementów menu kontenera.Wynikowa struktura menu po uaktywnieniu obiektu z tego serwera w miejsce wewnątrz tego kontenera wygląda następująco:

BEGIN
    POPUP "&File C1"
    POPUP "&Edit S1"
    POPUP "&Zoom C2"
    POPUP "&Format S2"
    POPUP "&Options C3
    POPUP "&Window C3"
    POPUP "&Help S3"
END

Jak widać, separatory zostały zastąpione różnych grup menu każdej aplikacji.

Akcelerator tabele związane z menu w miejscu powinny być również dostarczane przez aplikację serwera.Kontener spowoduje włączenie ich do swoich własnych tabel akcelerator.

Po aktywowaniu elementu osadzonego w miejscu ramach ładuje menu w miejscu.Następnie prosi o aktywację na miejscu aplikacji serwera w jego menu i wstawia go gdzie są separatory.Jest to, jak połączyć menu.Menu można uzyskać z kontenera pozwalające na umieszczenie plików i okna, a otrzymasz menu z serwera do pracy na elemencie.

Paski narzędzi i paski stanu

Aplikacje serwera należy utworzyć nowy pasek narzędzi i przechowywać jej bitmapy w oddzielnym pliku.Aplikacja aplikacje wizard–generated przechowywać tę mapę bitową w pliku o nazwie ITOOLBAR.BMP.Nowy pasek narzędzi zastępuje narzędzi aplikacji kontenera, gdy element Twój serwer jest aktywowany w miejscu i powinna zawierają te same elementy, co normalne paska narzędzi, ale usunąć ikony reprezentujące elementy w menu Plik i w oknie.

Ten pasek narzędzi jest ładowany w swojej COleIPFrameWnd-klasy, tworzone przez Kreatora konfiguracji aplikacji.Na pasku stanu jest obsługiwane przez aplikację kontenera.Aby uzyskać więcej informacji dotyczących wdrażania systemu windows w miejscu ramki, zobacz serwery: wdrażania serwera.

Zobacz też

Koncepcje

Menu i zasoby (OLE)

Aktywacja (C++)

Serwery

Kontenery