Klasa COleClientItem

Definiuje interfejs kontenera dla elementów OLE.

Składnia

class COleClientItem : public CDocItem

Członkowie

Konstruktory publiczne

Nazwa/nazwisko opis
COleClientItem::COleClientItem COleClientItem Tworzy obiekt.

Metody publiczne

Nazwa/nazwisko opis
COleClientItem::Activate Otwiera element OLE dla operacji, a następnie wykonuje określone zlecenie.
COleClientItem::ActivateAs Aktywuje element jako inny typ.
COleClientItem::AttachDataObject Uzyskuje dostęp do danych w obiekcie OLE.
COleClientItem::CanCreateFromData Wskazuje, czy aplikacja kontenera może utworzyć obiekt osadzony.
COleClientItem::CanCreateLinkFromData Wskazuje, czy aplikacja kontenera może utworzyć połączony obiekt.
COleClientItem::CanPaste Wskazuje, czy Schowek zawiera osadzony lub statyczny element OLE.
COleClientItem::CanPasteLink Wskazuje, czy Schowek zawiera linkowalny element OLE.
COleClientItem::Close Zamyka link do serwera, ale nie niszczy elementu OLE.
COleClientItem::ConvertTo Konwertuje element na inny typ.
COleClientItem::CopyToClipboard Kopiuje element OLE do Schowka.
COleClientItem::CreateCloneFrom Tworzy duplikat istniejącego elementu.
COleClientItem::CreateFromClipboard Tworzy osadzony element ze Schowka.
COleClientItem::CreateFromData Tworzy element osadzony na podstawie obiektu danych.
COleClientItem::CreateFromFile Tworzy element osadzony na podstawie pliku.
COleClientItem::CreateLinkFromClipboard Tworzy połączony element ze Schowka.
COleClientItem::CreateLinkFromData Tworzy połączony element na podstawie obiektu danych.
COleClientItem::CreateLinkFromFile Tworzy połączony element na podstawie pliku.
COleClientItem::CreateNewItem Tworzy nowy osadzony element, uruchamiając aplikację serwera.
COleClientItem::CreateStaticFromClipboard Tworzy element statyczny ze Schowka.
COleClientItem::CreateStaticFromData Tworzy element statyczny na podstawie obiektu danych.
COleClientItem::D eactivate Dezaktywuje element.
COleClientItem::D eactivateUI Przywraca interfejs użytkownika aplikacji kontenera do oryginalnego stanu.
COleClientItem::D elete Usuwa lub zamyka element OLE, jeśli był to element połączony.
COleClientItem::D oDragDrop Wykonuje operację przeciągania i upuszczania.
COleClientItem::D oVerb Wykonuje określone zlecenie.
COleClientItem::D raw Rysuje element OLE.
COleClientItem::GetActiveView Pobiera widok, w którym element jest aktywowany.
COleClientItem::GetCachedExtent Zwraca granice prostokąta elementu OLE.
COleClientItem::GetClassID Pobiera identyfikator klasy elementu bieżącego.
COleClientItem::GetClipboardData Pobiera dane, które zostaną umieszczone w Schowku, wywołując funkcję składową CopyToClipboard .
COleClientItem::GetDocument COleDocument Zwraca obiekt, który zawiera element obecny.
COleClientItem::GetDrawAspect Pobiera bieżący widok elementu do renderowania.
COleClientItem::GetExtent Zwraca granice prostokąta elementu OLE.
COleClientItem::GetIconFromRegistry Pobiera uchwyt do ikony skojarzonej z serwerem określonego identyfikatora CLSID.
COleClientItem::GetIconicMetafile Pobiera metaplik używany do rysowania ikony elementu.
COleClientItem::GetInPlaceWindow Zwraca wskaźnik do okna edycji elementu w miejscu.
COleClientItem::GetItemState Pobiera bieżący stan elementu.
COleClientItem::GetLastStatus Zwraca stan ostatniej operacji OLE.
COleClientItem::GetLinkUpdateOptions Zwraca tryb aktualizacji połączonego elementu (funkcja zaawansowana).
COleClientItem::GetType Zwraca typ (osadzony, połączony lub statyczny) elementu OLE.
COleClientItem::GetUserType Pobiera ciąg opisujący typ elementu.
COleClientItem::IsInPlaceActive Zwraca wartość TRUE, jeśli element jest aktywny w miejscu.
COleClientItem::IsLinkUpToDate Zwraca wartość TRUE, jeśli połączony element jest aktualny wraz z dokumentem źródłowym.
COleClientItem::IsModified Zwraca wartość TRUE, jeśli element został zmodyfikowany od czasu ostatniego zapisania.
COleClientItem::IsOpen Zwraca wartość TRUE, jeśli element jest obecnie otwarty w aplikacji serwera.
COleClientItem::IsRunning Zwraca wartość TRUE, jeśli aplikacja serwera elementu jest uruchomiona.
COleClientItem::OnActivate Wywoływana przez strukturę w celu powiadomienia elementu o jego aktywowaniu.
COleClientItem::OnActivateUI Wywoływana przez strukturę w celu powiadomienia elementu o aktywowaniu i powinna wyświetlić jego interfejs użytkownika.
COleClientItem::OnChange Wywoływana, gdy serwer zmienia element OLE. Wymagana implementacja.
COleClientItem::OnDeactivate Wywoływana przez platformę, gdy element jest dezaktywowany.
COleClientItem::OnDeactivateUI Wywoływana przez platformę, gdy serwer usunął interfejs użytkownika w miejscu.
COleClientItem::OnGetClipboardData Wywoływana przez strukturę w celu uzyskania danych do skopiowania do Schowka.
COleClientItem::OnInsertMenus Wywoływana przez platformę w celu utworzenia menu złożonego.
COleClientItem::OnRemoveMenus Wywoływana przez platformę w celu usunięcia menu kontenera z menu złożonego.
COleClientItem::OnSetMenu Wywoływana przez platformę do instalowania i usuwania menu złożonego.
COleClientItem::OnShowControlBars Wywoływana przez strukturę w celu wyświetlania i ukrywania pasków sterowania.
COleClientItem::OnUpdateFrameTitle Wywoływana przez strukturę w celu zaktualizowania paska tytułu okna ramki.
COleClientItem::ReactivateAndUndo Reactivates elementu i cofa ostatnią operację edycji w miejscu.
COleClientItem::Release Zwalnia połączenie z połączonym elementem OLE i zamyka je, jeśli został otwarty. Nie niszczy elementu klienta.
COleClientItem::Reload Ponownie ładuje element po wywołaniu metody ActivateAs.
COleClientItem::Run Uruchamia aplikację skojarzona z elementem.
COleClientItem::SetDrawAspect Ustawia bieżący widok elementu na potrzeby renderowania.
COleClientItem::SetExtent Ustawia prostokąt ograniczenia elementu OLE.
COleClientItem::SetHostNames Ustawia nazwy wyświetlane przez serwer podczas edytowania elementu OLE.
COleClientItem::SetIconicMetafile Buforuje metaplik używany do rysowania ikony elementu.
COleClientItem::SetItemRects Ustawia prostokąt ograniczenia elementu.
COleClientItem::SetLinkUpdateOptions Ustawia tryb aktualizacji dla połączonego elementu (funkcja zaawansowana).
COleClientItem::SetPrintDevice Ustawia urządzenie print-target dla tego elementu klienta.
COleClientItem::UpdateLink Aktualizacje pamięci podręcznej prezentacji elementu.

Metody chronione

Nazwa/nazwisko opis
COleClientItem::CanActivate Wywoływana przez platformę w celu określenia, czy aktywacja w miejscu jest dozwolona.
COleClientItem::OnChangeItemPosition Wywoływana przez strukturę, gdy pozycja elementu ulegnie zmianie.
COleClientItem::OnDeactivateAndUndo Wywoływana przez strukturę, aby cofnąć po aktywacji.
COleClientItem::OnDiscardUndoState Wywoływana przez platformę w celu odrzucenia informacji o stanie cofania elementu.
COleClientItem::OnGetClipRect Wywoływana przez strukturę w celu uzyskania współrzędnych przycinania i prostokąta elementu.
COleClientItem::OnGetItemPosition Wywoływana przez strukturę w celu uzyskania pozycji elementu względem widoku.
COleClientItem::OnGetWindowContext Wywoływana przez strukturę po aktywowaniu elementu.
COleClientItem::OnScrollBy Wywoływana przez strukturę, aby przewinąć element do widoku.
COleClientItem::OnShowItem Wywoływana przez strukturę w celu wyświetlenia elementu OLE.

Uwagi

Element OLE reprezentuje dane, utworzone i obsługiwane przez aplikację serwera, która może być "bezproblemowo" włączona do dokumentu, dzięki czemu wydaje się, że użytkownik będzie pojedynczym dokumentem. Wynikiem jest "dokument złożony" składający się z elementu OLE i dokumentu zawierającego.

Element OLE może być osadzony lub połączony. Jeśli jest osadzony, jego dane są przechowywane w ramach dokumentu złożonego. Jeśli jest połączony, jego dane są przechowywane w ramach oddzielnego pliku utworzonego przez aplikację serwera i tylko link do tego pliku jest przechowywany w dokumencie złożonym. Wszystkie elementy OLE zawierają informacje określające aplikację serwera, którą należy wywołać, aby je edytować.

COleClientItem definiuje kilka funkcji, które można zastąpić, które są wywoływane w odpowiedzi na żądania z aplikacji serwera; te przesłonięcia zwykle działają jako powiadomienia. Dzięki temu aplikacja serwera może poinformować kontener o zmianach wprowadzanych przez użytkownika podczas edytowania elementu OLE lub pobierać informacje potrzebne podczas edycji.

COleClientItem Może być używany z klasą COleDocument, COleLinkingDoc lub COleServerDoc . Aby użyć COleClientItemklasy , utwórz z niej klasę i zaimplementuj funkcję składową OnChange , która definiuje sposób reagowania kontenera na zmiany wprowadzone w elemencie. Aby obsługiwać aktywację w miejscu, zastąpuj funkcję składową OnGetItemPosition . Ta funkcja zawiera informacje o wyświetlanej pozycji elementu OLE.

Aby uzyskać więcej informacji na temat korzystania z interfejsu kontenera, zobacz artykuły Kontenery: Implementowanie kontenera i aktywacji.

Uwaga

Zestaw Windows SDK odnosi się do elementów osadzonych i połączonych jako "obiektów" i odnosi się do typów elementów jako "klas". Ta dokumentacja używa terminu "item" do odróżnienia jednostki OLE od odpowiedniego obiektu C++ i terminu "type" w celu odróżnienia kategorii OLE od klasy C++.

Hierarchia dziedziczenia

Cobject

Ccmdtarget

Cdocitem

COleClientItem

Wymagania

Nagłówek: afxole.h

COleClientItem::Activate

Wywołaj tę funkcję, aby wykonać określone zlecenie zamiast doVerb , aby można było wykonać własne przetwarzanie po wystąpieniu wyjątku.

void Activate(
    LONG nVerb,
    CView* pView,
    LPMSG lpMsg = NULL);

Parametry

nVerb
Określa czasownik do wykonania. Może to być jedna z następujących opcji:

Wartość Znaczenie Symbol
0– Primary — Zlecenie OLEIVERB_PRIMARY
-1 Czasownik pomocniczy (Brak)
-1 Wyświetlanie elementu do edycji OLEIVERB_SHOW
-2 Edytowanie elementu w osobnym oknie OLEIVERB_OPEN
–3 Ukryj element OLEIVERB_HIDE

Wartość -1 jest zazwyczaj aliasem dla innego zlecenia. Jeśli otwarta edycja nie jest obsługiwana, -2 ma taki sam efekt jak -1. Aby uzyskać dodatkowe wartości, zobacz IOleObject::D oVerb w zestawie Windows SDK.

Widok pView
Wskaźnik do okna widoku kontenera, który zawiera element OLE; jest on używany przez aplikację serwera do aktywacji w miejscu. Ten parametr powinien mieć wartość NULL, jeśli kontener nie obsługuje aktywacji w miejscu.

lpMsg
Wskaźnik do komunikatu, który spowodował aktywowanie elementu.

Uwagi

Jeśli aplikacja serwera została napisana przy użyciu biblioteki klas programu Microsoft Foundation, ta funkcja powoduje wykonanie funkcji składowej OnDoVerb odpowiedniego COleServerItem obiektu.

Jeśli czasownik podstawowy to Edit i zero jest określony w parametrze nVerb , aplikacja serwera jest uruchamiana w celu umożliwienia edycji elementu OLE. Jeśli aplikacja kontenera obsługuje aktywację w miejscu, edycję można przeprowadzić. Jeśli kontener nie obsługuje aktywacji w miejscu (lub jeśli określono czasownik Open), serwer zostanie uruchomiony w osobnym oknie i można tam przeprowadzić edycję. Zazwyczaj gdy użytkownik aplikacji kontenera dwukrotnie kliknie element OLE, wartość podstawowego zlecenia w parametrze nVerb określa, która akcja może wykonać użytkownik. Jeśli jednak serwer obsługuje tylko jedną akcję, podejmuje tę akcję, niezależnie od tego, która wartość jest określona w parametrze nVerb .

Aby uzyskać więcej informacji, zobacz IOleObject::D oVerb w zestawie Windows SDK.

COleClientItem::ActivateAs

Używa obiektów konwersji OLE do aktywowania elementu tak, jakby był to element typu określonego przez clsidNew.

virtual BOOL ActivateAs(
    LPCTSTR lpszUserType,
    REFCLSID clsidOld,
    REFCLSID clsidNew);

Parametry

lpszUserType
Wskaźnik do ciągu reprezentującego docelowy typ użytkownika, taki jak "Dokument programu Word".

clsidOld
Odwołanie do bieżącego identyfikatora klasy elementu. Identyfikator klasy powinien reprezentować typ rzeczywistego obiektu, który jest przechowywany, chyba że jest to link. W takim przypadku powinien to być identyfikator CLSID elementu, do którego odwołuje się link. COleConvertDialog automatycznie udostępnia prawidłowy identyfikator klasy dla elementu.

clsidNowy
Odwołanie do identyfikatora klasy docelowej.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Jest to wywoływane automatycznie przez COleConvertDialog::D oConvert. Zwykle nie jest wywoływana bezpośrednio.

COleClientItem::AttachDataObject

Wywołaj tę funkcję, aby zainicjować obiekt COleDataObject w celu uzyskania dostępu do danych w elemencie OLE.

void AttachDataObject(COleDataObject& rDataObject) const;

Parametry

rDataObject
Odwołanie do COleDataObject obiektu, który zostanie zainicjowany, aby umożliwić dostęp do danych w elemencie OLE.

COleClientItem::CanActivate

Wywoływana przez platformę, gdy użytkownik żąda aktywacji w miejscu elementu OLE; Wartość zwracana tej funkcji określa, czy aktywacja w miejscu jest dozwolona.

virtual BOOL CanActivate();

Wartość zwracana

Niezerowe, jeśli aktywacja w miejscu jest dozwolona; w przeciwnym razie 0.

Uwagi

Domyślna implementacja umożliwia aktywację w miejscu, jeśli kontener ma prawidłowe okno. Zastąpi tę funkcję, aby zaimplementować specjalną logikę akceptowania lub odrzucania żądania aktywacji. Na przykład żądanie aktywacji może zostać odrzucone, jeśli element OLE jest zbyt mały lub nie jest obecnie widoczny.

Aby uzyskać więcej informacji, zobacz IOleInPlaceSite::CanInPlaceActivate w zestawie Windows SDK.

COleClientItem::CanCreateFromData

Sprawdza, czy aplikacja kontenera może utworzyć obiekt osadzony na podstawie danego COleDataObject obiektu.

static BOOL PASCAL CanCreateFromData(const COleDataObject* pDataObject);

Parametry

pDataObject
Wskaźnik do obiektu COleDataObject , z którego ma zostać utworzony element OLE.

Wartość zwracana

Niezerowe, jeśli kontener może utworzyć obiekt osadzony na podstawie COleDataObject obiektu; w przeciwnym razie 0.

Uwagi

Klasa COleDataObject jest używana w transferach danych do pobierania danych w różnych formatach ze Schowka, przeciągania i upuszczania lub z osadzonego elementu OLE.

Kontenery mogą używać tej funkcji, aby zdecydować się włączyć lub wyłączyć polecenia Edytuj wklej i Edytuj wklej specjalne.

Aby uzyskać więcej informacji, zobacz artykuł Obiekty danych i źródła danych (OLE).

COleClientItem::CanCreateLinkFromData

Sprawdza, czy aplikacja kontenera może utworzyć połączony obiekt na podstawie danego COleDataObject obiektu.

static BOOL PASCAL CanCreateLinkFromData(const COleDataObject* pDataObject);

Parametry

pDataObject
Wskaźnik do obiektu COleDataObject , z którego ma zostać utworzony element OLE.

Wartość zwracana

Nonzero, jeśli kontener może utworzyć połączony obiekt na podstawie COleDataObject obiektu.

Uwagi

Klasa COleDataObject jest używana w transferach danych do pobierania danych w różnych formatach ze Schowka, przeciągania i upuszczania lub z osadzonego elementu OLE.

Kontenery mogą używać tej funkcji, aby zdecydować się na włączenie lub wyłączenie poleceń Edytuj wklejanie specjalne i Edytuj łącze wklejania.

Aby uzyskać więcej informacji, zobacz artykuł Obiekty danych i źródła danych (OLE).

COleClientItem::CanPaste

Wywołaj tę funkcję, aby sprawdzić, czy osadzony element OLE można wkleić ze Schowka.

static BOOL PASCAL CanPaste();

Wartość zwracana

Niezerowe, jeśli osadzony element OLE można wkleić ze Schowka; w przeciwnym razie 0.

Uwagi

Aby uzyskać więcej informacji, zobacz OleGetClipboard i OleQueryCreateFromData w zestawie WINDOWS SDK.

Wywołaj tę funkcję, aby sprawdzić, czy połączony element OLE można wkleić ze Schowka.

static BOOL PASCAL CanPasteLink();

Wartość zwracana

Niezerowe, jeśli połączony element OLE można wkleić ze Schowka; w przeciwnym razie 0.

Uwagi

Aby uzyskać więcej informacji, zobacz OleGetClipboard i OleQueryLinkFromData w zestawie WINDOWS SDK.

COleClientItem::Close

Wywołaj tę funkcję, aby zmienić stan elementu OLE ze stanu uruchomienia na stan załadowany, czyli załadowany wraz z jego procedurą obsługi w pamięci, ale z serwerem, który nie jest uruchomiony.

void Close(OLECLOSE dwCloseOption = OLECLOSE_SAVEIFDIRTY);

Parametry

dwCloseOption
Flaga określająca, w jakich okolicznościach element OLE jest zapisywany po powrocie do stanu załadowanego. Może mieć jedną z następujących wartości:

  • OLECLOSE_SAVEIFDIRTY Zapisz element OLE.

  • OLECLOSE_NOSAVE Nie zapisuj elementu OLE.

  • OLECLOSE_PROMPTSAVE Monituj użytkownika o to, czy zapisać element OLE.

Uwagi

Ta funkcja nie ma wpływu, gdy element OLE nie jest uruchomiony.

Aby uzyskać więcej informacji, zobacz IOleObject::Close w zestawie Windows SDK.

COleClientItem::COleClientItem

COleClientItem Tworzy obiekt i dodaje go do kolekcji dokumentów kontenera elementów dokumentów, które konstruuje tylko obiekt C++ i nie wykonuje inicjalizacji OLE.

COleClientItem(COleDocument* pContainerDoc = NULL);

Parametry

pContainerDoc
Wskaźnik do dokumentu kontenera, który będzie zawierać ten element. Może to być dowolna pochodna COleDocument .

Uwagi

Jeśli przekażesz wskaźnik NULL, do dokumentu kontenera nie zostanie dodany żaden dodatek. Należy jawnie wywołać COleDocument ::AddItem.

Przed użyciem elementu OLE należy wywołać jedną z następujących funkcji składowych tworzenia:

COleClientItem::ConvertTo

Wywołaj tę funkcję składową, aby przekonwertować element na typ określony przez clsidNew.

virtual BOOL ConvertTo(REFCLSID clsidNew);

Parametry

clsidNowy
Identyfikator klasy typu docelowego.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Jest to wywoływane automatycznie przez COleConvertDialog. Nie jest konieczne bezpośrednie wywołanie go.

COleClientItem::CopyToClipboard

Wywołaj tę funkcję, aby skopiować element OLE do Schowka.

void CopyToClipboard(BOOL bIncludeLink = FALSE);

Parametry

bIncludeLink
Wartość TRUE, jeśli informacje o linku powinny zostać skopiowane do Schowka, co umożliwia wklejenie połączonego elementu; w przeciwnym razie FAŁSZ.

Uwagi

Zazwyczaj ta funkcja jest wywoływana podczas pisania programów obsługi komunikatów dla poleceń Kopiowania lub wycinania z menu Edycja. Należy zaimplementować wybór elementu w aplikacji kontenera, jeśli chcesz zaimplementować polecenia Kopiowania lub wycinania.

Aby uzyskać więcej informacji, zobacz OleSetClipboard w zestawie Windows SDK.

COleClientItem::CreateCloneFrom

Wywołaj tę funkcję, aby utworzyć kopię określonego elementu OLE.

BOOL CreateCloneFrom(const COleClientItem* pSrcItem);

Parametry

pSrcItem
Wskaźnik do elementu OLE, który ma zostać zduplikowany.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Kopia jest identyczna z elementem źródłowym. Za pomocą tej funkcji można obsługiwać operacje cofania.

COleClientItem::CreateFromClipboard

Wywołaj tę funkcję, aby utworzyć osadzony element na podstawie zawartości Schowka.

BOOL CreateFromClipboard(
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Parametry

Renderowania
Flaga określająca sposób renderowania elementu OLE przez serwer. Aby uzyskać informacje o możliwych wartościach, zobacz OLERENDER w zestawie Windows SDK.

cfFormat
Określa format danych Schowka do buforowania podczas tworzenia elementu OLE.

lpFormatEtc
Wskaźnik do struktury FORMATETC używany, jeśli renderowanie jest OLERENDER_FORMAT lub OLERENDER_DRAW. Podaj wartość tego parametru tylko wtedy, gdy chcesz określić dodatkowe informacje o formacie poza formatem Schowka określonym przez cfFormat. W przypadku pominięcia tego parametru wartości domyślne są używane dla innych pól w FORMATETC strukturze.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Zazwyczaj ta funkcja jest wywoływana z programu obsługi komunikatów dla polecenia Wklej w menu Edycja. (Polecenie Wklej jest włączone przez strukturę, jeśli Funkcja składowa CanPaste zwraca wartość niezerową.

Aby uzyskać więcej informacji, zobacz OLERENDER i FORMATETC w zestawie Windows SDK.

COleClientItem::CreateFromData

Wywołaj tę funkcję, aby utworzyć element osadzony na podstawie COleDataObject obiektu.

BOOL CreateFromData(
    COleDataObject* pDataObject,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Parametry

pDataObject
Wskaźnik do obiektu COleDataObject , z którego ma zostać utworzony element OLE.

Renderowania
Flaga określająca sposób renderowania elementu OLE przez serwer. Aby uzyskać informacje o możliwych wartościach, zobacz OLERENDER w zestawie Windows SDK.

cfFormat
Określa format danych Schowka do buforowania podczas tworzenia elementu OLE.

lpFormatEtc
Wskaźnik do struktury FORMATETC używany, jeśli renderowanie jest OLERENDER_FORMAT lub OLERENDER_DRAW. Podaj wartość tego parametru tylko wtedy, gdy chcesz określić dodatkowe informacje o formacie poza formatem Schowka określonym przez cfFormat. W przypadku pominięcia tego parametru wartości domyślne są używane dla innych pól w FORMATETC strukturze.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Operacje transferu danych, takie jak wklejanie ze Schowka lub operacje przeciągania i upuszczania, zapewniają COleDataObject obiekty zawierające informacje oferowane przez aplikację serwera. Jest on zwykle używany w przesłonięci CView ::OnDrop.

Aby uzyskać więcej informacji, zobacz OleCreateFromData, OLERENDER i FORMATETC w zestawie WINDOWS SDK.

COleClientItem::CreateFromFile

Wywołaj tę funkcję, aby utworzyć osadzony element OLE z pliku.

BOOL CreateFromFile(
    LPCTSTR lpszFileName,
    REFCLSID clsid = CLSID_NULL,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Parametry

lpszFileName
Wskaźnik do nazwy pliku, z którego ma zostać utworzony element OLE.

Clsid
Zarezerwowane do użytku w przyszłości.

Renderowania
Flaga określająca sposób renderowania elementu OLE przez serwer. Aby uzyskać informacje o możliwych wartościach, zobacz OLERENDER w zestawie Windows SDK.

cfFormat
Określa format danych Schowka do buforowania podczas tworzenia elementu OLE.

lpFormatEtc
Wskaźnik do struktury FORMATETC używany, jeśli renderowanie jest OLERENDER_FORMAT lub OLERENDER_DRAW. Podaj wartość tego parametru tylko wtedy, gdy chcesz określić dodatkowe informacje o formacie poza formatem Schowka określonym przez cfFormat. W przypadku pominięcia tego parametru wartości domyślne są używane dla innych pól w FORMATETC strukturze.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Struktura wywołuje tę funkcję z COleInsertDialog::CreateItem , jeśli użytkownik wybierze przycisk OK w oknie dialogowym Wstawianie obiektu po wybraniu przycisku Utwórz z pliku.

Aby uzyskać więcej informacji, zobacz OleCreateFromFile, OLERENDER i FORMATETC w zestawie WINDOWS SDK.

COleClientItem::CreateLinkFromClipboard

Wywołaj tę funkcję, aby utworzyć połączony element na podstawie zawartości Schowka.

BOOL CreateLinkFromClipboard(
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Parametry

Renderowania
Flaga określająca sposób renderowania elementu OLE przez serwer. Aby uzyskać informacje o możliwych wartościach, zobacz OLERENDER w zestawie Windows SDK.

cfFormat
Określa format danych Schowka do buforowania podczas tworzenia elementu OLE.

lpFormatEtc
Wskaźnik do struktury FORMATETC używany, jeśli renderowanie jest OLERENDER_FORMAT lub OLERENDER_DRAW. Podaj wartość tego parametru tylko wtedy, gdy chcesz określić dodatkowe informacje o formacie poza formatem Schowka określonym przez cfFormat. W przypadku pominięcia tego parametru wartości domyślne są używane dla innych pól w FORMATETC strukturze.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Zazwyczaj ta funkcja jest wywoływana z programu obsługi komunikatów dla polecenia Wklej łącze w menu Edycja. (Polecenie Wklej łącze jest włączone w domyślnej implementacji polecenia COleDocument , jeśli Schowek zawiera element OLE, z którym można się połączyć).

Aby uzyskać więcej informacji, zobacz OLERENDER i FORMATETC w zestawie Windows SDK.

COleClientItem::CreateLinkFromData

Wywołaj tę funkcję, aby utworzyć połączony element na podstawie COleDataObject obiektu.

BOOL CreateLinkFromData(
    COleDataObject* pDataObject,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Parametry

pDataObject
Wskaźnik do obiektu COleDataObject , z którego ma zostać utworzony element OLE.

Renderowania
Flaga określająca sposób renderowania elementu OLE przez serwer. Aby uzyskać informacje o możliwych wartościach, zobacz OLERENDER w zestawie Windows SDK.

cfFormat
Określa format danych Schowka do buforowania podczas tworzenia elementu OLE.

lpFormatEtc
Wskaźnik do struktury FORMATETC używany, jeśli renderowanie jest OLERENDER_FORMAT lub OLERENDER_DRAW. Podaj wartość tego parametru tylko wtedy, gdy chcesz określić dodatkowe informacje o formacie poza formatem Schowka określonym przez cfFormat. W przypadku pominięcia tego parametru wartości domyślne są używane dla innych pól w FORMATETC strukturze.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Wywołaj to podczas operacji upuszczania, gdy użytkownik wskaże, że należy utworzyć łącze. Można go również użyć do obsługi polecenia Edytuj wklej. Jest ona wywoływana przez strukturę w COleClientItem::CreateLinkFromClipboard elem. i w COlePasteSpecialDialog::CreateItem po wybraniu opcji Połącz.

Aby uzyskać więcej informacji, zobacz OleCreateLinkFromData, OLERENDER i FORMATETC w zestawie WINDOWS SDK.

COleClientItem::CreateLinkFromFile

Wywołaj tę funkcję, aby utworzyć połączony element OLE z pliku.

BOOL CreateLinkFromFile(
    LPCTSTR lpszFileName,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Parametry

lpszFileName
Wskaźnik do nazwy pliku, z którego ma zostać utworzony element OLE.

Renderowania
Flaga określająca sposób renderowania elementu OLE przez serwer. Aby uzyskać informacje o możliwych wartościach, zobacz OLERENDER w zestawie Windows SDK.

cfFormat
Określa format danych Schowka do buforowania podczas tworzenia elementu OLE.

lpFormatEtc
Wskaźnik do struktury FORMATETC używany, jeśli renderowanie jest OLERENDER_FORMAT lub OLERENDER_DRAW. Podaj wartość tego parametru tylko wtedy, gdy chcesz określić dodatkowe informacje o formacie poza formatem Schowka określonym przez cfFormat. W przypadku pominięcia tego parametru wartości domyślne są używane dla innych pól w FORMATETC strukturze.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Platforma wywołuje tę funkcję, jeśli użytkownik wybierze przycisk OK w oknie dialogowym Wstaw obiekt po wybraniu przycisku Utwórz z pliku i pole wyboru Łącze jest zaznaczone. Jest wywoływana z COleInsertDialog::CreateItem.

Aby uzyskać więcej informacji, zobacz OleCreateLinkToFile, OLERENDER i FORMATETC w zestawie WINDOWS SDK.

COleClientItem::CreateNewItem

Wywołaj tę funkcję, aby utworzyć element osadzony; Ta funkcja uruchamia aplikację serwera, która umożliwia użytkownikowi utworzenie elementu OLE.

BOOL CreateNewItem(
    REFCLSID clsid,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Parametry

Clsid
Identyfikator, który jednoznacznie identyfikuje typ elementu OLE do utworzenia.

Renderowania
Flaga określająca sposób renderowania elementu OLE przez serwer. Aby uzyskać informacje o możliwych wartościach, zobacz OLERENDER w zestawie Windows SDK.

cfFormat
Określa format danych Schowka do buforowania podczas tworzenia elementu OLE.

lpFormatEtc
Wskaźnik do struktury FORMATETC używany, jeśli renderowanie jest OLERENDER_FORMAT lub OLERENDER_DRAW. Podaj wartość tego parametru tylko wtedy, gdy chcesz określić dodatkowe informacje o formacie poza formatem Schowka określonym przez cfFormat. W przypadku pominięcia tego parametru wartości domyślne są używane dla innych pól w FORMATETC strukturze.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Platforma wywołuje tę funkcję, jeśli użytkownik wybierze przycisk OK w oknie dialogowym Wstawianie obiektu po wybraniu przycisku Utwórz nowy.

Aby uzyskać więcej informacji, zobacz OleCreate, OLERENDER i FORMATETC w zestawie WINDOWS SDK.

COleClientItem::CreateStaticFromClipboard

Wywołaj tę funkcję, aby utworzyć element statyczny na podstawie zawartości Schowka.

BOOL CreateStaticFromClipboard(
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Parametry

Renderowania
Flaga określająca sposób renderowania elementu OLE przez serwer. Aby uzyskać informacje o możliwych wartościach, zobacz OLERENDER w zestawie Windows SDK.

cfFormat
Określa format danych Schowka do buforowania podczas tworzenia elementu OLE.

lpFormatEtc
Wskaźnik do struktury FORMATETC używany, jeśli renderowanie jest OLERENDER_FORMAT lub OLERENDER_DRAW. Podaj wartość tego parametru tylko wtedy, gdy chcesz określić dodatkowe informacje o formacie poza formatem Schowka określonym przez cfFormat. W przypadku pominięcia tego parametru wartości domyślne są używane dla innych pól w FORMATETC strukturze.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Element statyczny zawiera dane prezentacji, ale nie dane natywne; w związku z tym nie można go edytować. Zazwyczaj ta funkcja jest wywoływana, jeśli funkcja składowa CreateFromClipboard kończy się niepowodzeniem.

Aby uzyskać więcej informacji, zobacz OLERENDER i FORMATETC w zestawie Windows SDK.

COleClientItem::CreateStaticFromData

Wywołaj tę funkcję, aby utworzyć element statyczny COleDataObject na podstawie obiektu.

BOOL CreateStaticFromData(
    COleDataObject* pDataObject,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Parametry

pDataObject
Wskaźnik do obiektu COleDataObject , z którego ma zostać utworzony element OLE.

Renderowania
Flaga określająca sposób renderowania elementu OLE przez serwer. Aby uzyskać informacje o możliwych wartościach, zobacz OLERENDER w zestawie Windows SDK.

cfFormat
Określa format danych Schowka do buforowania podczas tworzenia elementu OLE.

lpFormatEtc
Wskaźnik do struktury FORMATETC używany, jeśli renderowanie jest OLERENDER_FORMAT lub OLERENDER_DRAW. Podaj wartość tego parametru tylko wtedy, gdy chcesz określić dodatkowe informacje o formacie poza formatem Schowka określonym przez cfFormat. W przypadku pominięcia tego parametru wartości domyślne są używane dla innych pól w FORMATETC strukturze.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Element statyczny zawiera dane prezentacji, ale nie dane natywne; w związku z tym nie można go edytować. Jest to zasadniczo takie samo jak CreateStaticFromClipboard , z tą różnicą, że element statyczny COleDataObjectmożna utworzyć na podstawie dowolnego elementu, a nie tylko ze Schowka.

Używany w COlePasteSpecialDialog ::CreateItem po wybraniu opcji Static.

Aby uzyskać więcej informacji, zobacz OleCreateStaticFromData, OLERENDER i FORMATETC w zestawie WINDOWS SDK.

COleClientItem::D eactivate

Wywołaj tę funkcję, aby dezaktywować element OLE i zwolnić wszystkie skojarzone zasoby.

void Deactivate();

Uwagi

Zazwyczaj aktywny element OLE jest dezaktywowany w miejscu, gdy użytkownik klika mysz w obszarze klienta poza granicami elementu. Należy pamiętać, że dezaktywacja elementu OLE spowoduje odrzucenie stanu cofania, co uniemożliwia wywołanie funkcji składowej ReactivateAndUndo .

Jeśli aplikacja obsługuje cofanie, nie należy wywoływać Deactivatemetody ; zamiast tego wywołaj funkcję DezaktywujUI.

Aby uzyskać więcej informacji, zobacz IOleInPlaceObject::InPlaceDeactivate w zestawie Windows SDK.

COleClientItem::D eactivateUI

Wywołaj tę funkcję, gdy użytkownik dezaktywuje aktywowany element.

void DeactivateUI();

Uwagi

Ta funkcja przywraca interfejs użytkownika aplikacji kontenera do oryginalnego stanu, ukrywając wszystkie menu i inne kontrolki utworzone na potrzeby aktywacji w miejscu.

Ta funkcja nie opróżnia informacji o stanie cofania elementu. Te informacje są zachowywane tak, aby można było później ponownie uaktywnićAndUndo do wykonania polecenia cofania w aplikacji serwera, w przypadku gdy polecenie cofania kontenera jest wybierane natychmiast po dezaktywacji elementu.

Aby uzyskać więcej informacji, zobacz IOleInPlaceObject::InPlaceDeactivate w zestawie Windows SDK.

COleClientItem::D elete

Wywołaj tę funkcję, aby usunąć element OLE z dokumentu kontenera.

void Delete(BOOL bAutoDelete = TRUE);

Parametry

bAutoDelete
Określa, czy element ma zostać usunięty z dokumentu.

Uwagi

Ta funkcja wywołuje funkcję składową Release , która z kolei usuwa obiekt C++ dla elementu, trwale usuwając element OLE z dokumentu. Jeśli element OLE jest osadzony, dane natywne dla elementu zostaną usunięte. Zawsze zamyka uruchomiony serwer; w związku z tym, jeśli element jest otwartym linkiem, ta funkcja go zamyka.

COleClientItem::D oDragDrop

Wywołaj funkcję składową, DoDragDrop aby wykonać operację przeciągania i upuszczania.

DROPEFFECT DoDragDrop(
    LPCRECT lpItemRect,
    CPoint ptOffset,
    BOOL bIncludeLink = FALSE,
    DWORD dwEffects = DROPEFFECT_COPY | DROPEFFECT_MOVE,
    LPCRECT lpRectStartDrag = NULL);

Parametry

lpItemRect
Prostokąt elementu na ekranie we współrzędnych klienta (piksele).

ptOffset
Przesunięcie od lpItemRect , gdzie pozycja myszy znajdowała się w czasie przeciągania.

bIncludeLink
Ustaw wartość TRUE, jeśli dane łącza powinny zostać skopiowane do Schowka. Ustaw wartość FALSE, jeśli aplikacja serwera nie obsługuje linków.

dwEffects
Określa efekty, które źródło przeciągania pozwoli na operację przeciągania.

lpRectStartDrag
Wskaźnik do prostokąta, który definiuje, gdzie faktycznie rozpoczyna się przeciąganie. Aby uzyskać więcej informacji zobacz następujące sekcji uwag.

Wartość zwracana

Wartość DROPEFFECT. Jeśli DROPEFFECT_MOVE, oryginalne dane powinny zostać usunięte.

Uwagi

Operacja przeciągania i upuszczania nie rozpoczyna się natychmiast. Czeka, aż kursor myszy opuści prostokąt określony przez lpRectStartDrag lub do momentu, aż zostanie przekazana określona liczba milisekund. Jeśli parametr lpRectStartDrag ma wartość NULL, rozmiar prostokąta to jeden piksel.

Czas opóźnienia jest określany przez ustawienie klucza rejestru. Czas opóźnienia można zmienić, wywołując polecenie CWinApp::WriteProfileString lub CWinApp::WriteProfileInt. Jeśli nie określisz czasu opóźnienia, zostanie użyta wartość domyślna 200 milisekund. Czas opóźnienia przeciągania jest przechowywany w następujący sposób:

  • Czas opóźnienia przeciągania systemu Windows NT jest przechowywany w HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\NT\CurrentVersion\IniFileMapping\win.ini\Windows\DragDelay.

  • Czas opóźnienia przeciągania systemu Windows 3.x jest przechowywany w win. Plik INI w sekcji [Windows}.

  • Czas opóźnienia przeciągania systemu Windows 95/98 jest przechowywany w buforowanej wersji win. INI.

Aby uzyskać więcej informacji na temat sposobu przechowywania informacji o opóźnieniu przeciągania w rejestrze lub obiekcie . Plik INI, zobacz WriteProfileString w zestawie Windows SDK.

COleClientItem::D oVerb

Wywołaj polecenie DoVerb , aby wykonać określone zlecenie.

virtual BOOL DoVerb(
    LONG nVerb,
    CView* pView,
    LPMSG lpMsg = NULL);

Parametry

nVerb
Określa czasownik do wykonania. Może zawierać jedną z następujących opcji:

Wartość Znaczenie Symbol
0– Primary — Zlecenie OLEIVERB_PRIMARY
-1 Czasownik pomocniczy (Brak)
-1 Wyświetlanie elementu do edycji OLEIVERB_SHOW
-2 Edytowanie elementu w osobnym oknie OLEIVERB_OPEN
–3 Ukryj element OLEIVERB_HIDE

Wartość -1 jest zazwyczaj aliasem dla innego zlecenia. Jeśli otwarta edycja nie jest obsługiwana, -2 ma taki sam efekt jak -1. Aby uzyskać dodatkowe wartości, zobacz IOleObject::D oVerb w zestawie Windows SDK.

Widok pView
Wskaźnik do okna widoku; jest on używany przez serwer do aktywacji w miejscu. Ten parametr powinien mieć wartość NULL, jeśli aplikacja kontenera nie zezwala na aktywację w miejscu.

lpMsg
Wskaźnik do komunikatu, który spowodował aktywowanie elementu.

Wartość zwracana

Nonzero, jeśli czasownik został pomyślnie wykonany; w przeciwnym razie 0.

Uwagi

Ta funkcja wywołuje funkcję Aktywuj składową, aby wykonać zlecenie. Przechwytuje również wyjątki i wyświetla pole komunikatu do użytkownika, jeśli zostanie zgłoszony.

Jeśli czasownik podstawowy to Edit i zero jest określony w parametrze nVerb , aplikacja serwera jest uruchamiana w celu umożliwienia edycji elementu OLE. Jeśli aplikacja kontenera obsługuje aktywację w miejscu, edycję można przeprowadzić. Jeśli kontener nie obsługuje aktywacji w miejscu (lub jeśli określono czasownik Open), serwer zostanie uruchomiony w osobnym oknie i można tam przeprowadzić edycję. Zazwyczaj gdy użytkownik aplikacji kontenera dwukrotnie kliknie element OLE, wartość podstawowego zlecenia w parametrze nVerb określa, która akcja może wykonać użytkownik. Jeśli jednak serwer obsługuje tylko jedną akcję, podejmuje tę akcję, niezależnie od tego, która wartość jest określona w parametrze nVerb .

COleClientItem::D raw

Wywołaj tę funkcję, aby narysować element OLE do określonego prostokąta ograniczenia przy użyciu określonego kontekstu urządzenia.

BOOL Draw(
    CDC* pDC,
    LPCRECT lpBounds,
    DVASPECT nDrawAspect = (DVASPECT)-1);

Parametry

Pdc
Wskaźnik do obiektu CDC używanego do rysowania elementu OLE.

lpBounds
Wskaźnik do obiektu lub RECT struktury CRect, który definiuje prostokąt ograniczenia, w którym ma być rysowany element OLE (w jednostkach logicznych określonych przez kontekst urządzenia).

nDrawAspect
Określa aspekt elementu OLE, czyli sposób jego wyświetlania. Jeśli nDrawAspect ma wartość -1, jest używany ostatni zestaw aspektów przy użyciu metody SetDrawAspect . Aby uzyskać więcej informacji na temat możliwych wartości dla tej flagi, zobacz SetDrawAspect.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Funkcja może używać reprezentacji metapliku elementu OLE utworzonego przez funkcję składową OnDraw elementu COleServerItem.

Zazwyczaj jest używany Draw do wyświetlania ekranu, przekazując kontekst urządzenia ekranu jako centrum dystrybucji kluczy publicznych. W takim przypadku należy określić tylko dwa pierwsze parametry.

Parametr lpBounds identyfikuje prostokąt w kontekście urządzenia docelowego (względem bieżącego trybu mapowania). Renderowanie może obejmować skalowanie obrazu i może być używane przez aplikacje kontenerów do narzucenia widoku, który skaluje się między wyświetlanym widokiem a końcowym wydrukowanym obrazem.

Aby uzyskać więcej informacji, zobacz IViewObject::D raw w zestawie Windows SDK.

COleClientItem::GetActiveView

Zwraca widok, w którym element jest aktywowany w miejscu.

CView* GetActiveView() const;

Wartość zwracana

Wskaźnik do widoku; w przeciwnym razie wartość NULL, jeśli element nie jest aktywowany w miejscu.

COleClientItem::GetCachedExtent

Wywołaj tę funkcję, aby pobrać rozmiar elementu OLE.

BOOL GetCachedExtent(
    LPSIZE lpSize,
    DVASPECT nDrawAspect = (DVASPECT)-1);

Parametry

lpSize
Wskaźnik do SIZE struktury lub obiektu CSize , który będzie otrzymywać informacje o rozmiarze.

nDrawAspect
Określa aspekt elementu OLE, którego granice mają zostać pobrane. Aby uzyskać możliwe wartości, zobacz SetDrawAspect.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; 0, jeśli element OLE jest pusty.

Uwagi

Ta funkcja udostępnia te same informacje co GetExtent. Można jednak wywołać GetCachedExtent metodę w celu uzyskania informacji o zakresie podczas przetwarzania innych programów obsługi OLE, takich jak OnChange. Wymiary znajdują się w jednostkach MM_HIMETRIC.

Jest to możliwe, ponieważ GetCachedExtent używa interfejsu IViewObject2 , a nie interfejsu IOleObject , aby uzyskać zakres tego elementu. Obiekt IViewObject2 COM buforuje informacje o zakresie użytym w poprzednim wywołaniu obiektu IViewObject::D raw.

Aby uzyskać więcej informacji, zobacz IViewObject2::GetExtent w zestawie Windows SDK.

COleClientItem::GetClassID

Zwraca identyfikator klasy elementu do pamięci wskazywanej przez wartość pClassID.

void GetClassID(CLSID* pClassID) const;

Parametry

Pclassid
Wskaźnik do identyfikatora typu CLSID w celu pobrania identyfikatora klasy. Aby uzyskać informacje na temat identyfikatora CLSID, zobacz zestaw Windows SDK.

Uwagi

Identyfikator klasy to 128-bitowa liczba, która jednoznacznie identyfikuje aplikację, która edytuje element.

Aby uzyskać więcej informacji, zobacz IPersist::GetClassID w zestawie Windows SDK.

COleClientItem::GetClipboardData

Wywołaj tę funkcję, aby uzyskać COleDataSource obiekt zawierający wszystkie dane, które zostaną umieszczone w Schowku przez wywołanie funkcji składowej CopyToClipboard .

void GetClipboardData(
    COleDataSource* pDataSource,
    BOOL bIncludeLink = FALSE,
    LPPOINT lpOffset = NULL,
    LPSIZE lpSize = NULL);

Parametry

pDataSource
Wskaźnik do obiektu COleDataSource , który otrzyma dane zawarte w elemencie OLE.

bIncludeLink
WARTOŚĆ TRUE, jeśli dane linku powinny być dołączone; w przeciwnym razie FAŁSZ.

lpOffset
Przesunięcie kursora myszy ze źródła obiektu w pikselach.

lpSize
Rozmiar obiektu w pikselach.

Uwagi

GetClipboardData jest wywoływana jako domyślna implementacja onGetClipboardData. Zastąpij OnGetClipboardData tylko wtedy, gdy chcesz oferować formaty danych oprócz tych oferowanych przez CopyToClipboardprogram . Umieść te formaty w COleDataSource obiekcie przed wywołaniem metody lub po wywołaniu CopyToClipboardmetody , a następnie przekaż COleDataSource obiekt do funkcji COleDataSource::SetClipboard . Jeśli na przykład chcesz, aby pozycja elementu OLE w dokumencie kontenera towarzyszyła mu w Schowku, należy zdefiniować własny format przekazywania tych informacji i umieszczać go w COleDataSource przed wywołaniem metody CopyToClipboard.

COleClientItem::GetDocument

Wywołaj tę funkcję, aby uzyskać wskaźnik do dokumentu zawierającego element OLE.

COleDocument* GetDocument() const;

Wartość zwracana

Wskaźnik do dokumentu zawierającego element OLE. Wartość NULL, jeśli element nie jest częścią dokumentu.

Uwagi

Ten wskaźnik umożliwia dostęp do COleDocument obiektu przekazanego jako argument do konstruktora COleClientItem .

COleClientItem::GetDrawAspect

Wywołaj funkcję składową GetDrawAspect , aby określić bieżący "aspekt" lub widok elementu.

DVASPECT GetDrawAspect() const;

Wartość zwracana

Wartość z wyliczenia DVASPECT, którego wartości są wymienione w dokumentacji setDrawAspect.

Uwagi

Aspekt określa sposób renderowania elementu.

COleClientItem::GetExtent

Wywołaj tę funkcję, aby pobrać rozmiar elementu OLE.

BOOL GetExtent(
    LPSIZE lpSize,
    DVASPECT nDrawAspect = (DVASPECT)- 1);

Parametry

lpSize
Wskaźnik do SIZE struktury lub CSize obiektu, który będzie otrzymywać informacje o rozmiarze.

nDrawAspect
Określa aspekt elementu OLE, którego granice mają zostać pobrane. Aby uzyskać możliwe wartości, zobacz SetDrawAspect.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; 0, jeśli element OLE jest pusty.

Uwagi

Jeśli aplikacja serwera została napisana przy użyciu biblioteki klas programu Microsoft Foundation, ta funkcja powoduje wywołanie funkcji składowej OnGetExtent odpowiedniego COleServerItem obiektu. Należy pamiętać, że pobrany rozmiar może różnić się od ostatniego rozmiaru ustawionego przez funkcję składową SetExtent . Rozmiar określony przez SetExtent jest traktowany jako sugestia. Wymiary znajdują się w jednostkach MM_HIMETRIC.

Uwaga

Nie należy wywoływać GetExtent podczas przetwarzania programu obsługi OLE, takiego jak OnChange. Wywołaj metodę GetCachedExtent .

Aby uzyskać więcej informacji, zobacz IOleObject::GetExtent w zestawie Windows SDK.

COleClientItem::GetIconFromRegistry

Wywołaj tę funkcję składową, aby pobrać uchwyt do zasobu ikony skojarzonego z serwerem określonego identyfikatora CLSID.

HICON GetIconFromRegistry() const;

static HICON GetIconFromRegistry(CLSID& clsid);

Parametry

Clsid
Odwołanie do identyfikatora CLSID serwera skojarzonego z ikoną.

Wartość zwracana

Nie można odnaleźć prawidłowego uchwytu dla zasobu ikony ikony lub wartości NULL, jeśli ikona serwera lub ikona domyślna.

Uwagi

Ta funkcja składowa nie uruchomi serwera ani nie uzyska ikony dynamicznie, nawet jeśli serwer jest już uruchomiony. Zamiast tego ta funkcja składowa otwiera obraz wykonywalny serwera i pobiera ikonę statyczną skojarzona z serwerem, ponieważ została zarejestrowana.

COleClientItem::GetIconicMetafile

Pobiera metaplik używany do rysowania ikony elementu.

HGLOBAL GetIconicMetafile();

Wartość zwracana

Dojście do metapliku, jeśli się powiedzie; w przeciwnym razie wartość NULL.

Uwagi

Jeśli nie ma bieżącej ikony, zostanie zwrócona ikona domyślna. Jest to wywoływane automatycznie przez okna dialogowe MFC/OLE i zwykle nie jest wywoływane bezpośrednio.

Ta funkcja wywołuje również metodę SetIconicMetafile w celu buforowania metapliku do późniejszego użycia.

COleClientItem::GetInPlaceWindow

Wywołaj GetInPlaceWindow funkcję składową, aby uzyskać wskaźnik do okna, w którym element został otwarty do edycji w miejscu.

CWnd* GetInPlaceWindow();

Wartość zwracana

Wskaźnik do okna edycji elementu w miejscu; WARTOŚĆ NULL, jeśli element nie jest aktywny lub jego serwer jest niedostępny.

Uwagi

Ta funkcja powinna być wywoływana tylko dla elementów, które są aktywne w miejscu.

COleClientItem::GetItemState

Wywołaj tę funkcję, aby uzyskać bieżący stan elementu OLE.

UINT GetItemState() const;

Wartość zwracana

Wyliczona COleClientItem::ItemState wartość, która może być jedną z następujących wartości: emptyState, , openStateloadedState, activeState, . activeUIState Aby uzyskać informacje o tych stanach, zobacz artykuł Kontenery: Stany elementów klienta.

Uwagi

Aby otrzymywać powiadomienia o zmianie stanu elementu OLE, użyj funkcji składowej OnChange .

Aby uzyskać więcej informacji, zobacz artykuł Kontenery: Stany elementów klienta.

COleClientItem::GetLastStatus

Zwraca kod stanu ostatniej operacji OLE.

SCODE GetLastStatus() const;

Wartość zwracana

Wartość SCODE.

Uwagi

W przypadku funkcji członkowskich, które zwracają wartość LOGICZNĄ FALSE lub innych funkcji członkowskich, które zwracają wartość NULL, GetLastStatus zwraca bardziej szczegółowe informacje o błędach. Należy pamiętać, że większość funkcji składowych OLE zgłasza wyjątki dla poważniejszych błędów. Konkretne informacje na temat interpretacji kodu SCODE zależą od bazowego wywołania OLE, które ostatnio zwróciło wartość SCODE.

Aby uzyskać więcej informacji na temat protokołu SCODE, zobacz Struktura kodów błędów com w dokumentacji zestawu Windows SDK.

COleClientItem::GetLinkUpdateOptions

Wywołaj tę funkcję, aby uzyskać bieżącą wartość opcji aktualizacji łącza dla elementu OLE.

OLEUPDATE GetLinkUpdateOptions();

Wartość zwracana

Jedna z następujących wartości:

  • OLEUPDATE_ALWAYS Zaktualizuj połączony element, gdy jest to możliwe. Ta opcja obsługuje przycisk radiowy Automatyczna aktualizacja łącza w oknie dialogowym Linki.

  • OLEUPDATE_ONCALL Zaktualizuj połączony element tylko na żądanie z aplikacji kontenera (gdy wywoływana jest funkcja składowa UpdateLink ). Ta opcja obsługuje przycisk radiowy Ręczne aktualizowanie linków w oknie dialogowym Linki.

Uwagi

Jest to zaawansowana operacja.

Ta funkcja jest wywoływana automatycznie przez klasę COleLinksDialog .

Aby uzyskać więcej informacji, zobacz IOleLink::GetUpdateOptions w zestawie Windows SDK.

COleClientItem::GetType

Wywołaj tę funkcję, aby określić, czy element OLE jest osadzony, czy połączony, czy statyczny.

OLE_OBJTYPE GetType() const;

Wartość zwracana

Liczba całkowita bez znaku z jedną z następujących wartości:

  • OT_LINK Element OLE jest łączem.

  • OT_EMBEDDED Element OLE jest osadzony.

  • OT_STATIC Element OLE jest statyczny, czyli zawiera tylko dane prezentacji, a nie dane natywne, a tym samym nie można go edytować.

COleClientItem::GetUserType

Wywołaj tę funkcję, aby uzyskać ciąg widoczny dla użytkownika opisujący typ elementu OLE, taki jak "Dokument programu Word".

void GetUserType(
    USERCLASSTYPE nUserClassType,
    CString& rString);

Parametry

nUserClassType
Wartość wskazująca żądany wariant ciągu opisującego typ elementu OLE. Może to mieć jedną z następujących wartości:

  • USERCLASSTYPE_FULL pełną nazwę typu wyświetlaną użytkownikowi.

  • USERCLASSTYPE_SHORT Krótka nazwa (maksymalnie 15 znaków) do użycia w menu podręcznych i okno dialogowe Edytowanie łączy.

  • USERCLASSTYPE_APPNAME Nazwa aplikacji obsługującej klasę.

rString
Odwołanie do obiektu CString , do którego ma zostać zwrócony ciąg opisujący typ elementu OLE.

Uwagi

Jest to często wpis w bazie danych rejestracji systemu.

Jeśli żądana jest pełna nazwa typu, ale nie jest dostępna, zamiast tego jest używana krótka nazwa. Jeśli w bazie danych rejestracji nie zostanie znaleziony żaden wpis typu elementu OLE lub nie ma żadnych typów użytkowników zarejestrowanych dla typu elementu OLE, używany jest typ użytkownika aktualnie przechowywany w elemencie OLE. Jeśli nazwa typu użytkownika jest pustym ciągiem, zostanie użyty ciąg "Nieznany obiekt".

Aby uzyskać więcej informacji, zobacz IOleObject::GetUserType w zestawie Windows SDK.

COleClientItem::IsInPlaceActive

Wywołaj tę funkcję, aby sprawdzić, czy element OLE jest aktywny.

BOOL IsInPlaceActive() const;

Wartość zwracana

Niezerowe, jeśli element OLE jest aktywny w miejscu; w przeciwnym razie 0.

Uwagi

Często wykonywane są różne logiki w zależności od tego, czy element jest edytowany. Funkcja sprawdza, czy bieżący stan elementu jest równy wartości lub activeStateactiveUIState.

COleClientItem::IsLinkUpToDate

Wywołaj tę funkcję, aby sprawdzić, czy element OLE jest aktualny.

BOOL IsLinkUpToDate() const;

Wartość zwracana

Nonzero, jeśli element OLE jest aktualny; w przeciwnym razie 0.

Uwagi

Element połączony może być nieaktualny, jeśli dokument źródłowy został zaktualizowany. Osadzony element zawierający linki w nim może podobnie stać się nieaktualny. Funkcja wykonuje rekursywne sprawdzanie elementu OLE. Należy pamiętać, że określenie, czy element OLE jest nieaktualny, może być tak kosztowny, jak w rzeczywistości podczas przeprowadzania aktualizacji.

Jest to wywoływane automatycznie przez implementację COleLinksDialog .

Aby uzyskać więcej informacji, zobacz IOleObject::IsUpToDate w zestawie Windows SDK.

COleClientItem::IsModified

Wywołaj tę funkcję, aby sprawdzić, czy element OLE jest zanieczyszczony (zmodyfikowany od czasu jego ostatniego zapisania).

BOOL IsModified() const;

Wartość zwracana

Nonzero, jeśli element OLE jest zanieczyszczony; w przeciwnym razie 0.

Uwagi

Aby uzyskać więcej informacji, zobacz IPersistStorage::IsDirty w zestawie Windows SDK.

COleClientItem::IsOpen

Wywołaj tę funkcję, aby sprawdzić, czy element OLE jest otwarty; oznacza to, że jest otwierany w wystąpieniu aplikacji serwera uruchomionej w osobnym oknie.

BOOL IsOpen() const;

Wartość zwracana

Nonzero, jeśli element OLE jest otwarty; w przeciwnym razie 0.

Uwagi

Służy do określania, kiedy należy narysować obiekt za pomocą wzorca kreskowania. Otwarty obiekt powinien mieć wzór kreskowania narysowany na górze obiektu. W tym celu można użyć obiektu CRectTracker .

COleClientItem::IsRunning

Wywołaj tę funkcję, aby sprawdzić, czy element OLE jest uruchomiony; oznacza to, czy element jest ładowany i uruchomiony w aplikacji serwera.

BOOL IsRunning() const;

Wartość zwracana

Nonzero, jeśli element OLE jest uruchomiony; w przeciwnym razie 0.

Uwagi

Aby uzyskać więcej informacji, zobacz OleIsRunning w zestawie Windows SDK.

COleClientItem::OnActivate

Wywoływana przez strukturę w celu powiadomienia elementu o tym, że właśnie została aktywowana.

virtual void OnActivate();

Uwagi

Należy pamiętać, że ta funkcja jest wywoływana, aby wskazać, że serwer jest uruchomiony, a nie wskazać, że jego interfejs użytkownika został zainstalowany w aplikacji kontenera. W tym momencie obiekt nie ma aktywnego interfejsu użytkownika (nie activeUIStatejest ). Nie zainstalowano menu ani paska narzędzi. Funkcja składowa OnActivateUI jest wywoływana w takim przypadku.

Domyślna implementacja wywołuje funkcję składową OnChange z OLE_CHANGEDSTATE jako parametrem. Zastąpij tę funkcję w celu wykonania niestandardowego przetwarzania, gdy element staje się aktywny w miejscu.

COleClientItem::OnActivateUI

Struktura wywołuje OnActivateUI , gdy obiekt wprowadził aktywny stan interfejsu użytkownika.

virtual void OnActivateUI();

Uwagi

Obiekt zainstalował teraz pasek narzędzi i menu.

Domyślna implementacja zapamiętuje nazwę HWND serwera na potrzeby późniejszych GetServerWindow wywołań.

COleClientItem::OnChange

Wywoływana przez platformę, gdy użytkownik modyfikuje, zapisuje lub zamyka element OLE.

virtual void OnChange(
    OLE_NOTIFICATION nCode,
    DWORD dwParam);

Parametry

nCode
Przyczyna zmiany tego elementu przez serwer. Może mieć jedną z następujących wartości:

  • OLE_CHANGED Wygląd elementu OLE uległ zmianie.

  • OLE_SAVED Element OLE został zapisany.

  • OLE_CLOSED Element OLE został zamknięty.

  • OLE_CHANGED_STATE Element OLE zmienił się z jednego stanu na inny.

dwParam
Jeśli parametr nCode jest OLE_SAVED lub OLE_CLOSED, ten parametr nie jest używany. Jeśli parametr nCode jest OLE_CHANGED, ten parametr określa aspekt elementu OLE, który uległ zmianie. Aby uzyskać możliwe wartości, zobacz parametr dwParam COleClientItem::D raw. Jeśli parametr nCode jest OLE_CHANGED_STATE, jest COleClientItem::ItemState to wyliczona wartość i opisuje wprowadzony stan. Może mieć jedną z następujących wartości: emptyState, , loadedStateopenState, activeStatelub activeUIState.

Uwagi

(Jeśli aplikacja serwera jest napisana przy użyciu biblioteki klas programu Microsoft Foundation, ta funkcja jest wywoływana w odpowiedzi na Notify funkcje składowe lub COleServerDocCOleServerItem. Domyślna implementacja oznacza dokument kontenera jako zmodyfikowany, jeśli nCode jest OLE_CHANGED lub OLE_SAVED.

W przypadku OLE_CHANGED_STATE bieżący stan zwrócony ze stanu GetItemState będzie nadal starym stanem, co oznacza, że stan, który był bieżący przed tą zmianą stanu.

Zastąpi tę funkcję, aby reagować na zmiany stanu elementu OLE. Zazwyczaj aktualizujesz wygląd elementu, unieważniając obszar, w którym jest wyświetlany element. Wywołaj implementację klasy bazowej na początku przesłonięcia.

COleClientItem::OnChangeItemPosition

Wywoływana przez platformę w celu powiadomienia kontenera o zmianie zakresu elementu OLE podczas aktywacji w miejscu.

virtual BOOL OnChangeItemPosition(const CRect& rectPos);

Parametry

rectPos
Wskazuje położenie elementu względem obszaru klienta aplikacji kontenera.

Wartość zwracana

Niezerowe, jeśli pozycja elementu została pomyślnie zmieniona; w przeciwnym razie 0.

Uwagi

Domyślna implementacja określa nowy widoczny prostokąt elementu OLE i wywołuje element SetItemRects nowymi wartościami. Domyślna implementacja oblicza widoczny prostokąt dla elementu i przekazuje te informacje do serwera.

Zastąpi tę funkcję, aby zastosować specjalne reguły do operacji zmiany rozmiaru/przenoszenia. Jeśli aplikacja jest napisana w MFC, to wywołanie powoduje, że serwer o nazwie COleServerDoc::RequestPositionChange.

COleClientItem::OnDeactivate

Wywoływana przez platformę, gdy element OLE przechodzi ze stanu aktywnego miejsca ( activeState) do stanu załadowanego, co oznacza, że jest dezaktywowany po aktywacji w miejscu.

virtual void OnDeactivate();

Uwagi

Należy pamiętać, że ta funkcja jest wywoływana, aby wskazać, że element OLE jest zamknięty, a nie że jego interfejs użytkownika został usunięty z aplikacji kontenera. W takim przypadku wywoływana jest funkcja składowa OnDeactivateUI .

Domyślna implementacja wywołuje funkcję składową OnChange z OLE_CHANGEDSTATE jako parametrem. Zastąpij tę funkcję w celu wykonania niestandardowego przetwarzania, gdy aktywny element w miejscu jest dezaktywowany. Jeśli na przykład obsługujesz polecenie cofania w aplikacji kontenera, możesz zastąpić tę funkcję, aby odrzucić stan cofania, co oznacza, że nie można cofnąć ostatniej operacji wykonanej na elemencie OLE po dezaktywowaniu elementu.

COleClientItem::OnDeactivateAndUndo

Wywoływana przez platformę, gdy użytkownik wywołuje polecenie cofania po aktywowaniu elementu OLE.

virtual void OnDeactivateAndUndo();

Uwagi

Domyślna implementacja wywołuje funkcję DezaktywujUI , aby dezaktywować interfejs użytkownika serwera. Zastąpi tę funkcję, jeśli implementujesz polecenie cofania w aplikacji kontenera. W zastąpieniu wywołaj wersję klasy bazowej funkcji, a następnie cofnij ostatnie polecenie wykonane w aplikacji.

Aby uzyskać więcej informacji, zobacz IOleInPlaceSite::D eactivateAndUndo w zestawie Windows SDK.

COleClientItem::OnDeactivateUI

Wywoływana, gdy użytkownik dezaktywuje aktywowany element.

virtual void OnDeactivateUI(BOOL bUndoable);

Parametry

bUndoable
Określa, czy zmiany edycji są nie do cofnięcia.

Uwagi

Ta funkcja przywraca interfejs użytkownika aplikacji kontenera do oryginalnego stanu, ukrywając wszystkie menu i inne kontrolki utworzone na potrzeby aktywacji w miejscu.

Jeśli parametr bUndoable ma wartość FALSE, kontener powinien wyłączyć polecenie cofania, w efekcie odrzucając stan cofania kontenera, ponieważ wskazuje, że ostatnia operacja wykonywana przez serwer nie jest niemożliwa do cofnięcia.

COleClientItem::OnDiscardUndoState

Wywoływana przez platformę, gdy użytkownik wykonuje akcję, która odrzuca stan cofania podczas edytowania elementu OLE.

virtual void OnDiscardUndoState();

Uwagi

Domyślna implementacja nic nie robi. Zastąpi tę funkcję, jeśli implementujesz polecenie cofania w aplikacji kontenera. W zastąpieniu odrzuć stan cofania aplikacji kontenera.

Jeśli serwer został napisany przy użyciu biblioteki klas programu Microsoft Foundation, serwer może spowodować wywołanie tej funkcji przez wywołanie COleServerDoc ::D iscardUndoState.

Aby uzyskać więcej informacji, zobacz IOleInPlaceSite::D iscardUndoState w zestawie Windows SDK.

COleClientItem::OnGetClipboardData

Wywoływana przez platformę COleDataSource w celu pobrania obiektu zawierającego wszystkie dane umieszczone w Schowku przez wywołanie funkcji CopyToClipboard lub do funkcji składowej DoDragDrop .

virtual COleDataSource* OnGetClipboardData(
    BOOL bIncludeLink,
    LPPOINT lpOffset,
    LPSIZE lpSize);

Parametry

bIncludeLink
Ustaw wartość TRUE, jeśli dane łącza powinny zostać skopiowane do Schowka. Ustaw wartość FALSE, jeśli aplikacja serwera nie obsługuje łączy.

lpOffset
Wskaźnik do przesunięcia kursora myszy ze źródła obiektu w pikselach.

lpSize
Wskaźnik do rozmiaru obiektu w pikselach.

Wartość zwracana

Wskaźnik do obiektu COleDataSource zawierającego dane Schowka.

Uwagi

Domyślna implementacja tej funkcji wywołuje metodę GetClipboardData.

COleClientItem::OnGetClipRect

Struktura wywołuje OnGetClipRect funkcję składową, aby uzyskać współrzędne wycinania prostokąta elementu, który jest edytowany.

virtual void OnGetClipRect(CRect& rClipRect);

Parametry

rClipRect
Wskaźnik do obiektu klasy CRect , który będzie przechowywać współrzędne wycinków prostokąta elementu.

Uwagi

Współrzędne znajdują się w pikselach względem obszaru klienta okna aplikacji kontenera.

Domyślna implementacja po prostu zwraca prostokąt klienta widoku, w którym element jest aktywny.

COleClientItem::OnGetItemPosition

Struktura wywołuje OnGetItemPosition funkcję składową, aby uzyskać współrzędne elementu, który jest edytowany.

virtual void OnGetItemPosition(CRect& rPosition);

Parametry

Położenie rPosition
Odwołanie do obiektu CRect , który będzie zawierać współrzędne położenia elementu.

Uwagi

Współrzędne znajdują się w pikselach względem obszaru klienta okna aplikacji kontenera.

Domyślna implementacja tej funkcji nic nie robi. Aplikacje, które obsługują edycję w miejscu, wymagają implementacji.

COleClientItem::OnGetWindowContext

Wywoływana przez strukturę po aktywowaniu elementu.

virtual BOOL OnGetWindowContext(
    CFrameWnd** ppMainFrame,
    CFrameWnd** ppDocFrame,
    LPOLEINPLACEFRAMEINFO lpFrameInfo);

Parametry

ppMainFrame
Wskaźnik do wskaźnika do głównego okna ramki.

ppDocFrame
Wskaźnik do wskaźnika do okna ramki dokumentu.

lpFrameInfo
Wskaźnik do struktury OLEINPLACEFRAMEINFO , która będzie otrzymywać informacje o oknie ramowym.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Ta funkcja służy do pobierania informacji o oknie nadrzędnym elementu OLE.

Jeśli kontener jest aplikacją MDI, domyślna implementacja zwraca wskaźnik do obiektu CMDIFrameWnd w ppMainFrame i wskaźnik do aktywnego obiektu CMDIChildWnd w ppDocFrame. Jeśli kontener jest aplikacją SDI, domyślna implementacja zwraca wskaźnik do obiektu CFrameWnd w ppMainFrame i zwraca wartość NULL w ppDocFrame. Domyślna implementacja wypełnia również elementy członkowskie lpFrameInfo.

Zastąpi tę funkcję tylko wtedy, gdy domyślna implementacja nie pasuje do aplikacji; na przykład jeśli aplikacja ma paradygmat interfejsu użytkownika, który różni się od standardu SDI lub MDI. Jest to zaawansowane przesłonięcia.

Aby uzyskać więcej informacji, zobacz IOleInPlaceSite::GetWindowContext i struktura OLEINPLACEFRAMEINFO w zestawie Windows SDK.

COleClientItem::OnInsertMenus

Wywoływana przez platformę podczas aktywacji w miejscu w celu wstawienia menu aplikacji kontenera do pustego menu.

virtual void OnInsertMenus(
    CMenu* pMenuShared,
    LPOLEMENUGROUPWIDTHS lpMenuWidths);

Parametry

pMenuShared
Wskazuje puste menu.

lpMenuWidths
Wskazuje tablicę sześciu wartości LONG wskazującą, ile menu znajduje się w każdej z następujących grup menu: Plik, Edycja, Kontener, Obiekt, Okno, Pomoc. Aplikacja kontenera jest odpowiedzialna za grupy menu Plik, Kontener i Okno, odpowiadające elementom 0, 2 i 4 tej tablicy.

Uwagi

To menu jest następnie przekazywane do serwera, który wstawia własne menu, tworząc menu złożone. Tę funkcję można wywołać wielokrotnie, aby utworzyć kilka menu złożonych.

Domyślna implementacja wstawia do pliku pMenuShared menu kontenera w miejscu, czyli grupy menu Plik, Kontener i Okno. CDocTemplate::SetContainerInfo służy do ustawiania tego zasobu menu. Domyślna implementacja przypisuje również odpowiednie wartości do elementów 0, 2 i 4 w lpMenuWidths, w zależności od zasobu menu. Zastąpi tę funkcję, jeśli domyślna implementacja nie jest odpowiednia dla aplikacji; na przykład jeśli aplikacja nie używa szablonów dokumentów do kojarzenia zasobów z typami dokumentów. Jeśli zastąpisz tę funkcję, należy również zastąpić polecenia OnSetMenu i OnRemoveMenus. Jest to zaawansowane przesłonięcia.

Aby uzyskać więcej informacji, zobacz IOleInPlaceFrame::InsertMenus w zestawie Windows SDK.

COleClientItem::OnRemoveMenus

Wywoływana przez platformę w celu usunięcia menu kontenera z określonego menu złożonego po zakończeniu aktywacji w miejscu.

virtual void OnRemoveMenus(CMenu* pMenuShared);

Parametry

pMenuShared
Wskazuje menu złożone skonstruowane przez wywołania funkcji składowej OnInsertMenus .

Uwagi

Domyślna implementacja usuwa z pliku pMenuShared menu kontenera w miejscu, czyli grupy menu Plik, Kontener i Okno. Zastąpi tę funkcję, jeśli domyślna implementacja nie jest odpowiednia dla aplikacji; na przykład jeśli aplikacja nie używa szablonów dokumentów do kojarzenia zasobów z typami dokumentów. Jeśli zastąpisz tę funkcję, prawdopodobnie należy zastąpić onInsertMenus i OnSetMenu , jak również. Jest to zaawansowane przesłonięcia.

Podmenus na pMenuShared może być współużytkowany przez więcej niż jedno menu złożone, jeśli serwer wielokrotnie wywoływany OnInsertMenus. W związku z tym nie należy usuwać żadnych podmenu w przesłonięciu elementu OnRemoveMenus; należy je odłączyć tylko.

Aby uzyskać więcej informacji, zobacz IOleInPlaceFrame::RemoveMenus w zestawie Windows SDK.

COleClientItem::OnScrollBy

Wywoływana przez strukturę w celu przewinięcia elementu OLE w odpowiedzi na żądania z serwera.

virtual BOOL OnScrollBy(CSize sizeExtent);

Parametry

sizeExtent
Określa odległości w pikselach, aby przewijać w kierunku x i y.

Wartość zwracana

Niezerowe, jeśli element został przewinięty; 0, jeśli nie można przewinąć elementu.

Uwagi

Jeśli na przykład element OLE jest częściowo widoczny, a użytkownik przechodzi poza widoczny region podczas edytowania w miejscu, ta funkcja jest wywoływana, aby zachować widoczny kursor. Domyślna implementacja nic nie robi. Zastąpij tę funkcję, aby przewinąć element o określoną kwotę. Należy pamiętać, że w wyniku przewijania widoczna część elementu OLE może ulec zmianie. Wywołaj metodę SetItemRects , aby zaktualizować widoczny prostokąt elementu.

Aby uzyskać więcej informacji, zobacz IOleInPlaceSite::Scroll in the Windows SDK (IOleInPlaceSite::Przewiń w zestawie Windows SDK).

COleClientItem::OnSetMenu

Wywoływana przez strukturę dwa razy, gdy aktywacja w miejscu rozpoczyna się i kończy; przy pierwszym zainstalowaniu menu złożonego i po raz drugi (z otworem równym NULL), aby go usunąć.

virtual void OnSetMenu(
    CMenu* pMenuShared,
    HOLEMENU holemenu,
    HWND hwndActiveObject);

Parametry

pMenuShared
Wskaźnik do menu złożonego skonstruowanego przez wywołania funkcji składowej OnInsertMenus i InsertMenu funkcji.

holemenu
Dojmij do deskryptora menu zwróconego OleCreateMenuDescriptor przez funkcję lub wartość NULL, jeśli kod wysyłający ma zostać usunięty.

hwndActiveObject
Dojście do okna edycji elementu OLE. Jest to okno, które będzie otrzymywać polecenia edycji z ole.

Uwagi

Domyślna implementacja instaluje lub usuwa menu złożone, a następnie wywołuje funkcję OleSetMenuDescriptor w celu zainstalowania lub usunięcia kodu wysyłającego. Zastąpi tę funkcję, jeśli domyślna implementacja nie jest odpowiednia dla aplikacji. Jeśli zastąpisz tę funkcję, prawdopodobnie należy zastąpić również polecenia OnInsertMenus i OnRemoveMenus . Jest to zaawansowane przesłonięcia.

Aby uzyskać więcej informacji, zobacz OleCreateMenuDescriptor, OleSetMenuDescriptor i IOleInPlaceFrame::SetMenu w zestawie WINDOWS SDK.

COleClientItem::OnShowControlBars

Wywoływana przez platformę w celu pokazania i ukrycia pasków sterowania aplikacji kontenera.

virtual BOOL OnShowControlBars(
    CFrameWnd* pFrameWnd,
    BOOL bShow);

Parametry

pFrameWnd
Wskaźnik do okna ramki aplikacji kontenera. Może to być główne okno ramowe lub okno podrzędne MDI.

bShow
Określa, czy paski sterowania mają być wyświetlane, czy ukryte.

Wartość zwracana

Niezerowe, jeśli wywołanie funkcji powoduje zmianę stanu pasków sterowania; 0, jeśli wywołanie nie powoduje żadnej zmiany lub jeśli pFrameWnd nie wskazuje okna ramki kontenera.

Uwagi

Ta funkcja zwraca wartość 0, jeśli paski sterowania są już w stanie określonym przez polecenie bShow. Taka sytuacja może wystąpić, na przykład jeśli paski sterowania są ukryte, a bShow ma wartość FALSE.

Domyślna implementacja usuwa pasek narzędzi z okna ramki najwyższego poziomu.

COleClientItem::OnShowItem

Wywoływana przez strukturę w celu wyświetlenia elementu OLE, dzięki czemu jest całkowicie widoczna podczas edycji.

virtual void OnShowItem();

Uwagi

Jest ona używana, gdy aplikacja kontenera obsługuje linki do elementów osadzonych (czyli jeśli klasa dokumentów pochodzi z COleLinkingDoc). Ta funkcja jest wywoływana podczas aktywacji w miejscu lub gdy element OLE jest źródłem linku i użytkownik chce go edytować. Domyślna implementacja aktywuje pierwszy widok w dokumencie kontenera. Zastąpij tę funkcję, aby przewinąć dokument tak, aby element OLE był widoczny.

COleClientItem::OnUpdateFrameTitle

Wywoływana przez platformę podczas aktywacji w miejscu w celu zaktualizowania paska tytułu okna ramowego.

virtual BOOL OnUpdateFrameTitle();

Wartość zwracana

Nonzero, jeśli ta funkcja pomyślnie zaktualizowała tytuł ramki, w przeciwnym razie zero.

Uwagi

Domyślna implementacja nie zmienia tytułu okna ramki. Zastąpi tę funkcję, jeśli chcesz użyć innego tytułu ramki dla aplikacji, na przykład "element aplikacji - serwera w nazwie dokumentu" (jak w sekcji "Microsoft Excel — arkusz kalkulacyjny w pliku REPORT.DOC"). Jest to zaawansowane przesłonięcia.

COleClientItem::ReactivateAndUndo

Wywołaj tę funkcję, aby ponownie uaktywnić element OLE i cofnąć ostatnią operację wykonywaną przez użytkownika podczas edycji w miejscu.

BOOL ReactivateAndUndo();

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Jeśli aplikacja kontenera obsługuje polecenie cofania, wywołaj tę funkcję, jeśli użytkownik wybierze polecenie cofnij natychmiast po dezaktywacji elementu OLE.

Jeśli aplikacja serwera jest zapisywana w bibliotekach klas programu Microsoft Foundation, ta funkcja powoduje wywołanie serwera COleServerDoc::OnReactivateAndUndo.

Aby uzyskać więcej informacji, zobacz IOleInPlaceObject::ReactivateAndUndo w zestawie Windows SDK.

COleClientItem::Release

Wywołaj tę funkcję, aby wyczyścić zasoby używane przez element OLE.

virtual void Release(OLECLOSE dwCloseOption = OLECLOSE_NOSAVE);

Parametry

dwCloseOption
Flaga określająca, w jakich okolicznościach element OLE jest zapisywany po powrocie do stanu załadowanego. Aby uzyskać listę możliwych wartości, zobacz COleClientItem::Close.

Uwagi

Release element jest wywoływany COleClientItem przez destruktor.

Aby uzyskać więcej informacji, zobacz IUnknown::Release w zestawie Windows SDK.

COleClientItem::Reload

Zamyka i ponownie ładuje element.

BOOL Reload();

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Wywołaj Reload funkcję po aktywowaniu elementu jako elementu innego typu przez wywołanie funkcji ActivateAs.

COleClientItem::Run

Uruchamia aplikację skojarzona z tym elementem.

void Run();

Uwagi

Wywołaj funkcję składową, Run aby uruchomić aplikację serwera przed aktywowaniem elementu. Jest to wykonywane automatycznie przez funkcję Activate i DoVerb, więc zwykle nie jest konieczne wywołanie tej funkcji. Wywołaj tę funkcję, jeśli jest konieczne uruchomienie serwera w celu ustawienia atrybutu elementu, takiego jak SetExtent, przed wykonaniem polecenia DoVerb.

COleClientItem::SetDrawAspect

Wywołaj funkcję składową SetDrawAspect , aby ustawić element "aspekt" lub widok.

virtual void SetDrawAspect(DVASPECT nDrawAspect);

Parametry

nDrawAspect
Wartość z wyliczenia DVASPECT. Ten parametr może mieć jedną z następujących wartości:

  • DVASPECT_CONTENT Element jest reprezentowany w taki sposób, że może być wyświetlany jako obiekt osadzony wewnątrz kontenera.

  • DVASPECT_THUMBNAIL Element jest renderowany w reprezentacji "miniatury", aby można było je wyświetlić w narzędziu przeglądania.

  • DVASPECT_ICON Element jest reprezentowany przez ikonę.

  • DVASPECT_DOCPRINT Element jest reprezentowany tak, jakby został wydrukowany przy użyciu polecenia Drukuj z menu Plik.

Uwagi

Aspekt określa, jak element ma być renderowany przez rysowanie , gdy jest używana wartość domyślna dla argumentu nDrawAspect tej funkcji.

Ta funkcja jest wywoływana automatycznie przez ikonę zmiany (i inne okna dialogowe, które bezpośrednio wywołają okno dialogowe Ikona zmiany), aby włączyć kultowy aspekt wyświetlania po zażądaniu przez użytkownika.

COleClientItem::SetExtent

Wywołaj tę funkcję, aby określić ilość miejsca dostępnego dla elementu OLE.

void SetExtent(
    const CSize& size,
    DVASPECT nDrawAspect = DVASPECT_CONTENT);

Parametry

Rozmiar
Obiekt CSize zawierający informacje o rozmiarze.

nDrawAspect
Określa aspekt elementu OLE, którego granice mają być ustawione. Aby uzyskać możliwe wartości, zobacz SetDrawAspect.

Uwagi

Jeśli aplikacja serwera została napisana przy użyciu biblioteki klas programu Microsoft Foundation, spowoduje to wywołanie funkcji składowej OnSetExtent odpowiedniego COleServerItem obiektu. Element OLE może następnie odpowiednio dostosować jego wyświetlacz. Wymiary muszą znajdować się w MM_HIMETRIC jednostkach. Wywołaj tę funkcję, gdy użytkownik zmieni rozmiar elementu OLE lub jeśli obsługuje jakąś formę negocjacji układu.

Aby uzyskać więcej informacji, zobacz IOleObject::SetExtent w zestawie Windows SDK.

COleClientItem::SetHostNames

Wywołaj tę funkcję, aby określić nazwę aplikacji kontenera i nazwę kontenera dla osadzonego elementu OLE.

void SetHostNames(
    LPCTSTR lpszHost,
    LPCTSTR lpszHostObj);

Parametry

lpszHost
Wskaźnik do nazwy widocznej przez użytkownika aplikacji kontenera.

lpszHostObj
Wskaźnik do identyfikującego ciąg kontenera, który zawiera element OLE.

Uwagi

Jeśli aplikacja serwera została napisana przy użyciu biblioteki klas programu Microsoft Foundation, ta funkcja wywołuje funkcję COleServerDoc składową OnSetHostNames dokumentu zawierającego element OLE. Te informacje są używane w tytułach okien, gdy element OLE jest edytowany. Za każdym razem, gdy dokument kontenera jest ładowany, struktura wywołuje tę funkcję dla wszystkich elementów OLE w dokumencie. SetHostNames dotyczy tylko elementów osadzonych. Nie jest konieczne wywołanie tej funkcji za każdym razem, gdy osadzony element OLE jest aktywowany do edycji.

Jest to również wywoływane automatycznie z nazwą aplikacji i nazwą dokumentu, gdy obiekt jest ładowany lub gdy plik jest zapisywany pod inną nazwą. W związku z tym nie jest zwykle konieczne bezpośrednie wywołanie tej funkcji.

Aby uzyskać więcej informacji, zobacz IOleObject::SetHostNames w zestawie Windows SDK.

COleClientItem::SetIconicMetafile

Buforuje metaplik używany do rysowania ikony elementu.

BOOL SetIconicMetafile(HGLOBAL hMetaPict);

Parametry

hMetaPict
Uchwyt do metapliku używanego do rysowania ikony elementu.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Pobierz metaplik za pomocą metody GetIconicMetafile .

Parametr hMetaPict jest kopiowany do elementu, dlatego obiekt wywołujący musi zwolnić hMetaPict .

COleClientItem::SetItemRects

Wywołaj tę funkcję, aby ustawić prostokąt ograniczenia lub widoczny prostokąt elementu OLE.

BOOL SetItemRects(
    LPCRECT lpPosRect = NULL,
    LPCRECT lpClipRect = NULL);

Parametry

lprcPosRect
Wskaźnik do prostokąta zawierającego granice elementu OLE względem okna nadrzędnego we współrzędnych klienta.

lprcClipRect
Wskaźnik do prostokąta zawierającego granice widocznej części elementu OLE względem okna nadrzędnego we współrzędnych klienta.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie, 0.

Uwagi

Ta funkcja jest wywoływana przez domyślną implementację funkcji składowej OnChangeItemPosition . Należy wywołać tę funkcję za każdym razem, gdy pozycja lub widoczna część elementu OLE ulegnie zmianie. Zazwyczaj oznacza to, że wywołujesz je z funkcji składowych OnSize i OnScrollBy widoku.

Aby uzyskać więcej informacji, zobacz IOleInPlaceObject::SetObjectRects w zestawie Windows SDK.

COleClientItem::SetLinkUpdateOptions

Wywołaj tę funkcję, aby ustawić opcję aktualizacji łącza dla prezentacji określonego połączonego elementu.

void SetLinkUpdateOptions(OLEUPDATE dwUpdateOpt);

Parametry

dwUpdateOpt
Wartość opcji link-update dla tego elementu. Ta wartość musi być jedną z następujących wartości:

  • OLEUPDATE_ALWAYS Zaktualizuj połączony element, gdy jest to możliwe. Ta opcja obsługuje przycisk radiowy Automatyczna aktualizacja łącza w oknie dialogowym Linki.

  • OLEUPDATE_ONCALL Zaktualizuj połączony element tylko na żądanie z aplikacji kontenera (gdy wywoływana jest funkcja składowa UpdateLink ). Ta opcja obsługuje przycisk radiowy Ręczne aktualizowanie linków w oknie dialogowym Linki.

Uwagi

Zazwyczaj nie należy zmieniać opcji aktualizacji wybranych przez użytkownika w oknie dialogowym Linki.

Aby uzyskać więcej informacji, zobacz IOleLink::SetUpdateOptions w zestawie Windows SDK.

COleClientItem::SetPrintDevice

Wywołaj tę funkcję, aby zmienić urządzenie print-target dla tego elementu.

BOOL SetPrintDevice(const DVTARGETDEVICE* ptd);
BOOL SetPrintDevice(const PRINTDLG* ppd);

Parametry

Ptd
Wskaźnik do struktury danych DVTARGETDEVICE , która zawiera informacje o nowym urządzeniu docelowym wydruku. Może mieć wartość NULL.

Ppd
Wskaźnik do struktury danych PRINTDLG , która zawiera informacje o nowym urządzeniu docelowym wydruku. Może mieć wartość NULL.

Wartość zwracana

Nonzero, jeśli funkcja zakończyła się pomyślnie; w przeciwnym razie 0.

Uwagi

Ta funkcja aktualizuje urządzenie print-target dla elementu, ale nie odświeża pamięci podręcznej prezentacji. Aby zaktualizować pamięć podręczną prezentacji dla elementu, wywołaj metodę UpdateLink.

Argumenty tej funkcji zawierają informacje używane przez system OLE do identyfikowania urządzenia docelowego. Struktura PRINTDLG zawiera informacje używane przez system Windows do inicjowania wspólnego okna dialogowego Drukowanie. Gdy użytkownik zamknie okno dialogowe, system Windows zwraca informacje o wyborach użytkownika w tej strukturze. Element m_pd członkowski obiektu CPrintDialog jest strukturą PRINTDLG .

Aby uzyskać więcej informacji na temat tej struktury, zobacz PRINTDLG w zestawie Windows SDK.

Aby uzyskać więcej informacji, zobacz DVTARGETDEVICE w zestawie Windows SDK.

Wywołaj tę funkcję, aby natychmiast zaktualizować dane prezentacji elementu OLE.

BOOL UpdateLink();

Wartość zwracana

Nonzero na sukces; w przeciwnym razie 0.

Uwagi

W przypadku elementów połączonych funkcja znajduje źródło linku w celu uzyskania nowej prezentacji dla elementu OLE. Ten proces może obejmować uruchamianie co najmniej jednej aplikacji serwera, co może być czasochłonne. W przypadku elementów osadzonych funkcja działa rekursywnie, sprawdzając, czy osadzony element zawiera łącza, które mogą być nieaktualne i aktualizować je. Użytkownik może również ręcznie zaktualizować poszczególne linki przy użyciu okna dialogowego Łącza.

Aby uzyskać więcej informacji, zobacz IOleLink::Update w zestawie Windows SDK.

Zobacz też

Przykład MFCBIND
Przykład MFC OCLIENT
Klasa CDocItem
Wykres hierarchii
Klasa COleServerItem