Kontenery: implementowanie kontenera
Ten artykuł zawiera podsumowanie dotyczące wykonywania kontener i kieruje użytkownika do innych artykułów, które dostarczają bardziej szczegółowych wyjaśnień dotyczących implementowania kontenerów.Przedstawia on również niektóre funkcje OLE opcjonalne, które chcesz zaimplementować i artykuły opisujące te funkcje.
Aby przygotować klasy pochodnych CWinApp
Inicjowanie bibliotek OLE przez wywołanie AfxOleInit w InitInstance funkcji składowej.
Wywołanie CDocTemplate::SetContainerInfo w InitInstance do przypisywania menu i akcelerator zasoby używane podczas tworzenia elementu osadzonego aktywowany w miejscu.Aby uzyskać więcej informacji na ten temat, zobacz aktywacji.
Gdy Kreator aplikacji MFC jest używany do tworzenia aplikacji kontenera te funkcje są dostarczony automatycznie.Zobacz Tworzenie programu MFC EXE.
Aby przygotować swój widok klasy
Śledzić różne elementy wybrane przez utrzymywanie wskaźnik lub listy wskaźników, jeśli obsługuje wybór wielokrotny, do wybranych elementów.Twój OnDraw funkcja musi zwrócić wszystkie elementy OLE.
Zastąpić IsSelected do sprawdzenia, czy jest aktualnie zaznaczony element przekazany do niego.
Implementacja OnInsertObject obsługi wiadomości, aby wyświetlić Wstaw obiekt okno dialogowe.
Implementacja OnSetFocus obsługi do przenoszenia fokusu z widoku do OLE aktywnych w miejscu osadzone element wiadomości.
Implementacja OnSize obsługi wiadomości w celu poinformowania OLE osadzony element że musi zmienić jego prostokąt, aby odzwierciedlić zmianę rozmiaru jego zawierające widok.
Ponieważ implementację tych funkcji różni się znacząco z jednej aplikacji do następnego, Kreatora konfiguracji aplikacji zawiera tylko podstawowe implementacji.Prawdopodobnie będzie trzeba dostosować te funkcje aplikacji do prawidłowego funkcjonowania.Aby na przykład, zobacz kontenera próbki.
Do obsługi elementów osadzonych i połączonych
Pochodzić od klasy z COleClientItem.Obiektów tej klasy zawierają zapasy, które zostały osadzone w lub łączone z dokumentem OLE.
Override OnChange, OnChangeItemPosition, and OnGetItemPosition.Te funkcje uchwyt zmiany rozmiaru, pozycjonowanie i modyfikowania osadzone i połączone elementy.
Kreator aplikacji uzyskanie klasy dla Ciebie, ale prawdopodobnie będzie trzeba zastąpić OnChange i inne funkcje wymienione z nim w kroku 2 w poprzedniej procedurze.Szkielet implementacji należy dostosować do większości aplikacji, ponieważ funkcje te są implementowane w inny sposób z jednej aplikacji do następnego.Przykłady to, zobacz próbek MFC DRAWCLI i kontenera.
Liczba elementów należy dodać do struktury menu aplikacji kontenera do obsługi OLE.Aby uzyskać więcej informacji o tych, zobacz menu i zasoby: dodatki kontener.
Można również obsługiwać niektóre z następujących funkcji w aplikacji kontenera:
Aktywacja w miejscu podczas edytowania osadzonego elementu.
Aby uzyskać więcej informacji, zobacz aktywacji.
Tworzenie OLE elementy przez przeciąganie i upuszczanie zaznaczenia od aplikacji serwera.
Aby uzyskać więcej informacji, zobacz przeciągnij i upuść (OLE).
Zawiera łącza do obiektów osadzonych lub kombinacja kontenera/serwera aplikacji.
Aby uzyskać więcej informacji, zobacz pojemnikach: funkcje zaawansowane.