Udostępnij za pośrednictwem


Kontenery: Zaawansowane funkcje

W tym artykule opisano kroki niezbędne do włączenia opcjonalne funkcje zaawansowane do istniejących aplikacji kontenera.Funkcje te są:

  • Kontener i serwera aplikacji

  • Łącze do osadzonego obiektu OLE

Tworzenie aplikacji kontenera serwer

Aplikacja kontenera serwer jest aplikacja, która działa jako kontener i serwera.Microsoft Word dla Windows jest przykładem.Dokumenty programu Word dla systemu Windows można osadzić w innych aplikacjach i elementy można również osadzać w dokumentach programu Word dla Windows.Proces modyfikowania aplikacji kontenera zarówno kontenera, jak i cały serwer (nie można utworzyć aplikacji kontenera/miniserver kombinacji) jest podobny do procesu tworzenia całego serwera.

Artykuł serwerów: serwer wykonywania wymienia szereg zadań wymaganych do wdrożenia aplikacji serwera.Po przekonwertowaniu do aplikacji kontenera serwera aplikacji kontenera, następnie należy wykonać niektóre z tych zadań w tym samym, dodawanie kodu do kontenera.Poniżej przedstawiono listę ważnych zagadnień, które należy wziąć pod uwagę:

  • Kod pojemnika, utworzony przez Kreatora aplikacji już inicjuje podsystemu OLE.Nie trzeba będzie zmienić lub dodać coś dla tej pomocy technicznej.

  • Wszędzie tam, gdzie jest klasą bazową klasy dokumentu COleDocument, zmiana klasy podstawowej do COleServerDoc.

  • Zastąpić COleClientItem::CanActivate do edycji elementów w miejsce podczas samego serwera jest używany do edycji w miejscu.

    Na przykład MFC OLE próbki OCLIENT został osadzony element utworzony przez aplikację kontenera/serwera.Otwórz aplikację OCLIENT i w miejsce edycji elementów utworzonych przez kontener serwera aplikacji.Podczas edycji elementu aplikacji, zdecydujesz chcesz osadzić element utworzony przez próbkę MFC OLE HIERSVR.Aby to zrobić, nie można używać w miejscu aktywacji.Należy otworzyć całkowicie HIERSVR, aby uaktywnić ten element.Ponieważ biblioteka klas Microsoft Foundation nie obsługuje tej funkcji OLE, zastępując COleClientItem::CanActivate pozwala sprawdzić w takiej sytuacji i zapobiec możliwości błąd czasu w aplikacji.

Jeśli tworzenia nowej aplikacji i ma działać jako aplikacja kontenera serwera, wybierz polecenie automatycznie utworzone opcji w oknie dialogowym Opcje OLE w Kreatorze aplikacji i wsparcie to.Aby uzyskać więcej informacji, zobacz artykuł Omówienie: Tworzenie kontenera formantu ActiveX.Uzyskać próbek MFC Zobacz próbek MFC.

Należy zauważyć, że aplikacja MDI nie można wstawić do siebie samego.Kontener/serwer aplikacji nie można wstawić do samego, chyba że jest to aplikacja SDI.

Łącza do obiektów osadzonych

Łącza do obiektów osadzonych, funkcja umożliwia użytkownikowi utworzyć dokument zawierający łącze do osadzonego obiektu wewnątrz aplikacji kontenera OLE.Na przykład można utworzyć dokumentu w edytorze tekstu zawierającego osadzony arkusz kalkulacyjny.Jeśli aplikacja obsługuje łączy do obiektów osadzonych, można go wkleić łącze do arkusza kalkulacyjnego, zawarte w dokumencie edytora tekstów.Ta funkcja pozwala aplikacji używać informacji zawartych w arkuszu kalkulacyjnym nie znając, gdzie tekstów pierwotnie rację.

Aby połączyć obiekty osadzone w aplikacji

  1. Pochodzić od klasy dokumentu COleLinkingDoc zamiast COleDocument.

  2. Utwórz identyfikator klasy OLE (CLSID) dla aplikacji za pomocą generatora identyfikator klasy dołączone do narzędzi programistycznych OLE.

  3. Zarejestruj aplikacji OLE.

  4. Tworzenie COleTemplateServer obiektu jako członek klasy aplikacji.

  5. W klasie aplikacja InitInstance Członkowskich działały, wykonaj następujące czynności:

    • Połącz swoje COleTemplateServer obiektu do szablonów dokumentu przez wywołanie obiektu ConnectTemplate funkcji składowej.

    • Wywołanie COleTemplateServer::RegisterAll funkcji składowej zarejestrować wszystkie obiekty klasy z systemem OLE.

    • Call COleTemplateServer::UpdateRegistry.Parametr tylko do UpdateRegistry powinny być OAT_CONTAINER , jeżeli wniosek nie został uruchomiony z przełącznikiem / osadzony".Aplikacja to rejestruje jako kontener, który może obsługiwać łącza do obiektów osadzonych.

      Jeśli aplikacja jest uruchamiany z przełącznikiem / osadzony", nie powinien wykazywać swoje główne okno, podobne do aplikacji serwera.

Próbki MFC OLE OCLIENT wykonuje tę funkcję.Przykładem, jak to zrobić, zobacz InitInstance funkcji OCLIENT.Plik CPP tej aplikacji przykładowej.

Zobacz też

Koncepcje

Pojemniki

Serwery