Udostępnij za pośrednictwem


Menu i zasobów: scalanie Menu

W tym artykule szczegółowo kroki niezbędne do obsługi edycji i aktywacja w miejscu odpowiednio OLE dokumentu aplikacji.Aktywacja w miejscu stanowi wyzwanie dla kontenera i serwera aplikacji (składnik).Użytkownik pozostaje w tym samym oknie ramki (w ramach dokumentu kontenera), ale jest faktycznie uruchomiona inna aplikacja (serwer).Wymaga to koordynacji między zasobami aplikacji kontenera i serwera.

W tym artykule tematy obejmują:

  • Układy menu

  • Paski narzędzi i paski stanu

Układy menu

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

Aplikacji kontenera, należy utworzyć nowe menu tylko wtedy, gdy elementy osadzone są uaktywniane w miejscu.Minimum w tym menu powinien składać się z następujących czynności w podanej kolejności:

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

  2. Dwa kolejne separatory.

  3. Menu Okno jest identyczny z używane, gdy są otwarte pliki (tylko wtedy, gdy aplikacja kontenera w aplikacji MDI).Niektóre aplikacje mogą mieć inne menu, takich jak menu Opcje należące do tej grupy, które pozostanie w menu po aktywowaniu elementu osadzonego w miejscu.

    [!UWAGA]

    Może to być inne menu, które wpływają na widoku dokumentu kontenera, takich jak powiększenie.Tych menu kontener pojawiają się między dwa separatory w zasobów tego menu.

Aplikacje serwera (składnik) należy także utworzyć nowe menu specjalnie dla aktywacji w miejscu.Powinno się podobnie jak menu, używane, gdy pliki są otwarte, ale bez elementów menu, takich jak plik i okna, które manipulować dokument serwera, a nie dane.Zazwyczaj to menu składa się z następujących czynności:

  1. Edycja, menu, identyczny z używane, gdy są otwarte pliki.

  2. Separator.

  3. Edycja, menu, takich jak menu Pióro w przykładowej aplikacji Bazgroły obiektu.

  4. Separator.

  5. Menu Pomoc.

Na przykład Spójrz na układ niektóre menu w miejscu próbki dla kontenera i serwera.Aby na przykład jaśniejsze zostały usunięte szczegóły każdego elementu menu.Pojemnik 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.Teraz wyglądać na 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 w tym polu wskazuje, dokąd druga grupa elementów menu kontener.Wynikowa struktura menu po aktywacji 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 z różnych grup menu każdej aplikacji.

Akcelerator tabele związane z menu w miejscu powinny być również dostarczane przez aplikacji serwera.Kontener będzie włączać je do własnych tabel akceleratora.

Po aktywowaniu elementu osadzonego w miejscu ramach ładuje menu w miejscu.Następnie pyta aplikacji serwera w jego menu aktywacji w miejscu i wstawia go gdzie są separatory.Jest to, jak połączyć menu.Get menu z kontenera dla działających na położenie pliku i okna i uzyskać 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 pasek narzędzi w aplikacji kontenera po serwera elementu w miejscu i powinna zawierają te same elementy, jak normalne paska narzędzi, jednak usunąć ikony reprezentujące elementy w menu Plik i okna.

Ten pasek narzędzi jest ładowany w sieci COleIPFrameWnd-klasy tworzony przez Kreatora aplikacji.Na pasku stanu jest obsługiwane przez aplikację kontenera.Aby uzyskać więcej informacji dotyczących wdrażania systemu Windows w miejsce ramki, zobacz serwerów: serwer wykonywania.

Zobacz też

Koncepcje

Menu i zasobów (OLE)

Aktywacja (C++)

Serwery

Pojemniki