Classe COleClientItem

Definisce l'interfaccia del contenitore per gli elementi OLE.

Sintassi

class COleClientItem : public CDocItem

Membri

Costruttori pubblici

Nome Descrizione
COleClientItem::COleClientItem Costruisce un oggetto COleClientItem.

Metodi pubblici

Nome Descrizione
COleClientItem::Activate Apre l'elemento OLE per un'operazione e quindi esegue il verbo specificato.
COleClientItem::ActivateAs Attiva l'elemento come un altro tipo.
COleClientItem::AttachDataObject Accede ai dati nell'oggetto OLE.
COleClientItem::CanCreateFromData Indica se un'applicazione contenitore può creare un oggetto incorporato.
COleClientItem::CanCreateLinkFromData Indica se un'applicazione contenitore può creare un oggetto collegato.
COleClientItem::CanPaste Indica se gli Appunti contengono un elemento OLE statico o incorporabile.
COleClientItem::CanPasteLink Indica se gli Appunti contengono un elemento OLE collegabile.
COleClientItem::Close Chiude un collegamento a un server ma non elimina definitivamente l'elemento OLE.
COleClientItem::ConvertTo Converte l'elemento in un altro tipo.
COleClientItem::CopyToClipboard Copia l'elemento OLE negli Appunti.
COleClientItem::CreateCloneFrom Crea un duplicato di un elemento esistente.
COleClientItem::CreateFromClipboard Crea un elemento incorporato dagli Appunti.
COleClientItem::CreateFromData Crea un elemento incorporato da un oggetto dati.
COleClientItem::CreateFromFile Crea un elemento incorporato da un file.
COleClientItem::CreateLinkFromClipboard Crea un elemento collegato dagli Appunti.
COleClientItem::CreateLinkFromData Crea un elemento collegato da un oggetto dati.
COleClientItem::CreateLinkFromFile Crea un elemento collegato da un file.
COleClientItem::CreateNewItem Crea un nuovo elemento incorporato avviando l'applicazione server.
COleClientItem::CreateStaticFromClipboard Crea un elemento statico dagli Appunti.
COleClientItem::CreateStaticFromData Crea un elemento statico da un oggetto dati.
COleClientItem::D eactivate Disattiva l'elemento.
COleClientItem::D eactivateUI Ripristina lo stato originale dell'interfaccia utente dell'applicazione contenitore.
COleClientItem::D elete Elimina o chiude l'elemento OLE se si tratta di un elemento collegato.
COleClientItem::D oDragDrop Esegue un'operazione di trascinamento della selezione.
COleClientItem::D oVerb Esegue il verbo specificato.
COleClientItem::D raw Disegna l'elemento OLE.
COleClientItem::GetActiveView Ottiene la visualizzazione in cui l'elemento viene attivato sul posto.
COleClientItem::GetCachedExtent Restituisce i limiti del rettangolo dell'elemento OLE.
COleClientItem::GetClassID Ottiene l'ID classe dell'elemento corrente.
COleClientItem::GetClipboardData Ottiene i dati che verrebbero inseriti negli Appunti chiamando la CopyToClipboard funzione membro.
COleClientItem::GetDocument Restituisce l'oggetto COleDocument contenente l'elemento corrente.
COleClientItem::GetDrawAspect Ottiene la visualizzazione corrente dell'elemento per il rendering.
COleClientItem::GetExtent Restituisce i limiti del rettangolo dell'elemento OLE.
COleClientItem::GetIconFromRegistry Recupera un handle a un'icona associata al server di un particolare CLSID.
COleClientItem::GetIconicMetafile Ottiene il metafile utilizzato per disegnare l'icona dell'elemento.
COleClientItem::GetInPlaceWindow Restituisce un puntatore alla finestra di modifica sul posto dell'elemento.
COleClientItem::GetItemState Ottiene lo stato corrente dell'elemento.
COleClientItem::GetLastStatus Restituisce lo stato dell'ultima operazione OLE.
COleClientItem::GetLinkUpdateOptions Restituisce la modalità di aggiornamento per un elemento collegato (funzionalità avanzata).
COleClientItem::GetType Restituisce il tipo (incorporato, collegato o statico) dell'elemento OLE.
COleClientItem::GetUserType Ottiene una stringa che descrive il tipo dell'elemento.
COleClientItem::IsInPlaceActive Restituisce TRUE se l'elemento è attivo sul posto.
COleClientItem::IsLinkUpToDate Restituisce TRUE se un elemento collegato è aggiornato con il documento di origine.
COleClientItem::IsModified Restituisce TRUE se l'elemento è stato modificato dopo l'ultimo salvataggio.
COleClientItem::IsOpen Restituisce TRUE se l'elemento è attualmente aperto nell'applicazione server.
COleClientItem::IsRunning Restituisce TRUE se l'applicazione server dell'elemento è in esecuzione.
COleClientItem::OnActivate Chiamato dal framework per notificare all'elemento che è attivato.
COleClientItem::OnActivateUI Chiamato dal framework per notificare all'elemento che è attivato e deve mostrare l'interfaccia utente.
COleClientItem::OnChange Chiamato quando il server modifica l'elemento OLE. Implementazione richiesta.
COleClientItem::OnDeactivate Chiamato dal framework quando un elemento viene disattivato.
COleClientItem::OnDeactivateUI Chiamato dal framework quando il server ha rimosso l'interfaccia utente sul posto.
COleClientItem::OnGetClipboardData Chiamato dal framework per ottenere i dati da copiare negli Appunti.
COleClientItem::OnInsertMenus Chiamato dal framework per creare un menu composito.
COleClientItem::OnRemoveMenus Chiamato dal framework per rimuovere i menu del contenitore da un menu composito.
COleClientItem::OnSetMenu Chiamato dal framework per installare e rimuovere un menu composito.
COleClientItem::OnShowControlBars Chiamato dal framework per visualizzare e nascondere le barre di controllo.
COleClientItem::OnUpdateFrameTitle Chiamato dal framework per aggiornare la barra del titolo della finestra cornice.
COleClientItem::ReactivateAndUndo Riattiva l'elemento e annulla l'ultima operazione di modifica sul posto.
COleClientItem::Release Rilascia la connessione a un elemento collegato OLE e la chiude se era aperta. Non elimina definitivamente l'elemento client.
COleClientItem::Ricaricamento Ricarica l'elemento dopo una chiamata a ActivateAs.
COleClientItem::Run Esegue l'applicazione associata all'elemento.
COleClientItem::SetDrawAspect Imposta la visualizzazione corrente dell'elemento per il rendering.
COleClientItem::SetExtent Imposta il rettangolo di delimitazione dell'elemento OLE.
COleClientItem::SetHostNames Imposta i nomi visualizzati dal server durante la modifica dell'elemento OLE.
COleClientItem::SetIconicMetafile Memorizza nella cache il metafile utilizzato per disegnare l'icona dell'elemento.
COleClientItem::SetItemRects Imposta il rettangolo di delimitazione dell'elemento.
COleClientItem::SetLinkUpdateOptions Imposta la modalità di aggiornamento per un elemento collegato (funzionalità avanzata).
COleClientItem::SetPrintDevice Imposta il dispositivo di destinazione di stampa per questo elemento client.
COleClientItem::UpdateLink Aggiorna la cache di presentazione di un elemento.

Metodi protetti

Nome Descrizione
COleClientItem::CanActivate Chiamato dal framework per determinare se è consentita l'attivazione sul posto.
COleClientItem::OnChangeItemPosition Chiamato dal framework quando cambia la posizione di un elemento.
COleClientItem::OnDeactivateAndUndo Chiamato dal framework per annullare l'operazione dopo l'attivazione.
COleClientItem::OnDiscardUndoState Chiamato dal framework per rimuovere le informazioni sullo stato di annullamento dell'elemento.
COleClientItem::OnGetClipRect Chiamato dal framework per ottenere le coordinate del rettangolo di ritaglio dell'elemento.
COleClientItem::OnGetItemPosition Chiamato dal framework per ottenere la posizione dell'elemento rispetto alla visualizzazione.
COleClientItem::OnGetWindowContext Chiamato dal framework quando viene attivato un elemento sul posto.
COleClientItem::OnScrollBy Chiamato dal framework per scorrere l'elemento nella visualizzazione.
COleClientItem::OnShowItem Chiamato dal framework per visualizzare l'elemento OLE.

Osservazioni:

Un elemento OLE rappresenta i dati, creati e gestiti da un'applicazione server, che può essere "facilmente" incorporato in un documento in modo che appaia all'utente un singolo documento. Il risultato è un "documento composto" costituito dall'elemento OLE e da un documento contenitore.

Un elemento OLE può essere incorporato o collegato. Se è incorporato, i relativi dati vengono archiviati come parte del documento composto. Se è collegato, i relativi dati vengono archiviati come parte di un file separato creato dall'applicazione server e solo un collegamento a tale file viene archiviato nel documento composto. Tutti gli elementi OLE contengono informazioni che specificano l'applicazione server che deve essere chiamata per modificarle.

COleClientItem definisce diverse funzioni sottoponibili a override chiamate in risposta alle richieste provenienti dall'applicazione server; queste sostituzioni fungono in genere da notifiche. Ciò consente all'applicazione server di informare il contenitore delle modifiche apportate dall'utente durante la modifica dell'elemento OLE o di recuperare le informazioni necessarie durante la modifica.

COleClientItem può essere usato con la classe COleDocument, COleLinkingDoc o COleServerDoc . Per usare COleClientItem, derivare una classe da essa e implementare la funzione membro OnChange, che definisce il modo in cui il contenitore risponde alle modifiche apportate all'elemento. Per supportare l'attivazione sul posto, eseguire l'override della funzione membro OnGetItemPosition . Questa funzione fornisce informazioni sulla posizione visualizzata dell'elemento OLE.

Per altre informazioni sull'uso dell'interfaccia del contenitore, vedere gli articoli Contenitori: Implementazione di un contenitore e dell'attivazione.

Nota

Windows SDK fa riferimento a elementi incorporati e collegati come "oggetti" e fa riferimento a tipi di elementi come "classi". Questo riferimento usa il termine "item" per distinguere l'entità OLE dall'oggetto C++ corrispondente e il termine "type" per distinguere la categoria OLE dalla classe C++.

Gerarchia di ereditarietà

CObject

CCmdTarget

CDocItem

COleClientItem

Requisiti

Intestazione: afxole.h

COleClientItem::Activate

Chiamare questa funzione per eseguire il verbo specificato anziché DoVerb in modo da poter eseguire un'elaborazione personalizzata quando viene generata un'eccezione.

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

Parametri

nVerb
Specifica il verbo da eseguire. I possibili valori sono i seguenti:

Valore Significato Simbolo
-0 verbo primario OLEIVERB_PRIMARY
-1 Verbo secondario (Nessuno)
-1 Visualizza elemento per la modifica OLEIVERB_SHOW
-2 Modifica elemento in una finestra separata OLEIVERB_OPEN
-3 Nascondi elemento OLEIVERB_HIDE

Il valore -1 è in genere un alias per un altro verbo. Se la modifica aperta non è supportata, -2 ha lo stesso effetto di -1. Per altri valori, vedere IOleObject::D oVerb in Windows SDK.

pView
Puntatore alla finestra di visualizzazione contenitore che contiene l'elemento OLE; viene usato dall'applicazione server per l'attivazione sul posto. Questo parametro deve essere NULL se il contenitore non supporta l'attivazione sul posto.

lpMsg
Puntatore al messaggio che ha causato l'attivazione dell'elemento.

Osservazioni:

Se l'applicazione server è stata scritta utilizzando la libreria di classi Microsoft Foundation, questa funzione fa sì che venga eseguita la funzione membro OnDoVerb dell'oggetto corrispondente COleServerItem .

Se il verbo primario è Edit e zero viene specificato nel parametro nVerb , viene avviata l'applicazione server per consentire la modifica dell'elemento OLE. Se l'applicazione contenitore supporta l'attivazione sul posto, la modifica può essere eseguita sul posto. Se il contenitore non supporta l'attivazione sul posto (o se è specificato il verbo Apri), il server viene avviato in una finestra separata e la modifica può essere eseguita in tale posizione. In genere, quando l'utente dell'applicazione contenitore fa doppio clic sull'elemento OLE, il valore per il verbo primario nel parametro nVerb determina l'azione che l'utente può eseguire. Tuttavia, se il server supporta una sola azione, viene eseguita tale azione, indipendentemente dal valore specificato nel parametro nVerb .

Per altre informazioni, vedere IOleObject::D oVerb in Windows SDK.

COleClientItem::ActivateAs

Usa le funzionalità di conversione degli oggetti OLE per attivare l'elemento come se fosse un elemento del tipo specificato da clsidNew.

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

Parametri

lpszUserType
Puntatore a una stringa che rappresenta il tipo di utente di destinazione, ad esempio "Documento word".

clsidOld
Riferimento all'ID classe corrente dell'elemento. L'ID classe deve rappresentare il tipo dell'oggetto effettivo, come archiviato, a meno che non sia un collegamento. In tal caso, deve essere il CLSID dell'elemento a cui fa riferimento il collegamento. COleConvertDialog fornisce automaticamente l'ID classe corretto per l'elemento.

clsidNew
Riferimento all'ID della classe di destinazione.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Viene chiamato automaticamente da COleConvertDialog::D oConvert. In genere non viene chiamato direttamente.

COleClientItem::AttachDataObject

Chiamare questa funzione per inizializzare un oggetto COleDataObject per accedere ai dati nell'elemento OLE.

void AttachDataObject(COleDataObject& rDataObject) const;

Parametri

rDataObject
Riferimento a un COleDataObject oggetto che verrà inizializzato per consentire l'accesso ai dati nell'elemento OLE.

COleClientItem::CanActivate

Chiamato dal framework quando l'utente richiede l'attivazione sul posto dell'elemento OLE; Il valore restituito di questa funzione determina se è consentita l'attivazione sul posto.

virtual BOOL CanActivate();

Valore restituito

Diverso da zero se è consentita l'attivazione sul posto; in caso contrario, 0.

Osservazioni:

L'implementazione predefinita consente l'attivazione sul posto se il contenitore ha una finestra valida. Eseguire l'override di questa funzione per implementare una logica speciale per accettare o rifiutare la richiesta di attivazione. Ad esempio, una richiesta di attivazione può essere rifiutata se l'elemento OLE è troppo piccolo o non è attualmente visibile.

Per altre informazioni, vedere IOleInPlaceSite::CanInPlaceActivate in Windows SDK.

COleClientItem::CanCreateFromData

Verifica se un'applicazione contenitore può creare un oggetto incorporato dall'oggetto specificato COleDataObject .

static BOOL PASCAL CanCreateFromData(const COleDataObject* pDataObject);

Parametri

pDataObject
Puntatore all'oggetto COleDataObject da cui creare l'elemento OLE.

Valore restituito

Diverso da zero se il contenitore può creare un oggetto incorporato dall'oggetto COleDataObject ; in caso contrario, 0.

Osservazioni:

La COleDataObject classe viene usata nei trasferimenti di dati per il recupero dei dati in vari formati dagli Appunti, tramite trascinamento della selezione o da un elemento OLE incorporato.

I contenitori possono usare questa funzione per decidere di abilitare o disabilitare i comandi Modifica incolla e Modifica incolla speciale.

Per altre informazioni, vedere l'articolo Oggetti dati e origini dati (OLE).

COleClientItem::CanCreateLinkFromData

Verifica se un'applicazione contenitore può creare un oggetto collegato dall'oggetto specificato COleDataObject .

static BOOL PASCAL CanCreateLinkFromData(const COleDataObject* pDataObject);

Parametri

pDataObject
Puntatore all'oggetto COleDataObject da cui creare l'elemento OLE.

Valore restituito

Diverso da zero se il contenitore può creare un oggetto collegato dall'oggetto COleDataObject .

Osservazioni:

La COleDataObject classe viene usata nei trasferimenti di dati per il recupero dei dati in vari formati dagli Appunti, tramite trascinamento della selezione o da un elemento OLE incorporato.

I contenitori possono usare questa funzione per decidere di abilitare o disabilitare i comandi Modifica incolla speciale e Modifica collegamento incolla.

Per altre informazioni, vedere l'articolo Oggetti dati e origini dati (OLE).

COleClientItem::CanPaste

Chiamare questa funzione per verificare se è possibile incollare un elemento OLE incorporato dagli Appunti.

static BOOL PASCAL CanPaste();

Valore restituito

Diverso da zero se un elemento OLE incorporato può essere incollato dagli Appunti; in caso contrario, 0.

Osservazioni:

Per altre informazioni, vedere OleGetClipboard e OleQueryCreateFromData in Windows SDK.

Chiamare questa funzione per verificare se un elemento OLE collegato può essere incollato dagli Appunti.

static BOOL PASCAL CanPasteLink();

Valore restituito

Diverso da zero se un elemento OLE collegato può essere incollato dagli Appunti; in caso contrario, 0.

Osservazioni:

Per altre informazioni, vedere OleGetClipboard e OleQueryLinkFromData in Windows SDK.

COleClientItem::Close

Chiamare questa funzione per modificare lo stato di un elemento OLE dallo stato di esecuzione allo stato caricato, ovvero caricato con il relativo gestore in memoria, ma con il server non in esecuzione.

void Close(OLECLOSE dwCloseOption = OLECLOSE_SAVEIFDIRTY);

Parametri

dwCloseOption
Flag che specifica in quali circostanze l'elemento OLE viene salvato quando torna allo stato caricato. Può avere uno dei valori seguenti:

  • OLECLOSE_SAVEIFDIRTY Salvare l'elemento OLE.

  • OLECLOSE_NOSAVE Non salvare l'elemento OLE.

  • OLECLOSE_PROMPTSAVE Richiedere all'utente se salvare l'elemento OLE.

Osservazioni:

Questa funzione non ha alcun effetto quando l'elemento OLE non è in esecuzione.

Per altre informazioni, vedere IOleObject::Close in Windows SDK.

COleClientItem::COleClientItem

Costruisce un COleClientItem oggetto e lo aggiunge alla raccolta di elementi documento del contenitore, che costruisce solo l'oggetto C++ e non esegue alcuna inizializzazione OLE.

COleClientItem(COleDocument* pContainerDoc = NULL);

Parametri

pContainerDoc
Puntatore al documento contenitore che conterrà questo elemento. Può trattarsi di qualsiasi derivato COleDocument .

Osservazioni:

Se si passa un puntatore NULL, non viene apportata alcuna aggiunta al documento contenitore. È necessario chiamare in modo esplicito COleDocument::AddItem.

Prima di usare l'elemento OLE, è necessario chiamare una delle funzioni membro di creazione seguenti:

COleClientItem::ConvertTo

Chiamare questa funzione membro per convertire l'elemento nel tipo specificato da clsidNew.

virtual BOOL ConvertTo(REFCLSID clsidNew);

Parametri

clsidNew
ID classe del tipo di destinazione.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Questa operazione viene chiamata automaticamente da COleConvertDialog. Non è necessario chiamarlo direttamente.

COleClientItem::CopyToClipboard

Chiamare questa funzione per copiare l'elemento OLE negli Appunti.

void CopyToClipboard(BOOL bIncludeLink = FALSE);

Parametri

bIncludeLink
TRUE se le informazioni sul collegamento devono essere copiate negli Appunti, consentendo di incollare un elemento collegato; in caso contrario FALSE.

Osservazioni:

In genere, questa funzione viene chiamata quando si scrivono gestori di messaggi per i comandi Copia o Taglia dal menu Modifica. Se si desidera implementare i comandi Copia o Taglia, è necessario implementare la selezione di elementi nell'applicazione contenitore.

Per altre informazioni, vedere OleSetClipboard in Windows SDK.

COleClientItem::CreateCloneFrom

Chiamare questa funzione per creare una copia dell'elemento OLE specificato.

BOOL CreateCloneFrom(const COleClientItem* pSrcItem);

Parametri

pSrcItem
Puntatore all'elemento OLE da duplicare.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

La copia è identica all'elemento di origine. È possibile usare questa funzione per supportare le operazioni di annullamento.

COleClientItem::CreateFromClipboard

Chiamare questa funzione per creare un elemento incorporato dal contenuto degli Appunti.

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

Parametri

render
Flag che specifica come il server eseguirà il rendering dell'elemento OLE. Per i valori possibili, vedere OLERENDER in Windows SDK.

cfFormat
Specifica il formato dei dati degli Appunti da memorizzare nella cache durante la creazione dell'elemento OLE.

lpFormatEtc
Puntatore a una struttura FORMATETC utilizzata se il rendering è OLERENDER_FORMAT o OLERENDER_DRAW. Specificare un valore per questo parametro solo se si desidera specificare informazioni di formato aggiuntive oltre il formato degli Appunti specificato da cfFormat. Se si omette questo parametro, i valori predefiniti vengono usati per gli altri campi della FORMATETC struttura.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Questa funzione viene in genere chiamata dal gestore messaggi per il comando Incolla dal menu Modifica. Il comando Incolla è abilitato dal framework se La funzione membro CanPaste restituisce un valore diverso da zero.

Per altre informazioni, vedere OLERENDER e FORMATETC in Windows SDK.

COleClientItem::CreateFromData

Chiamare questa funzione per creare un elemento incorporato da un COleDataObject oggetto .

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

Parametri

pDataObject
Puntatore all'oggetto COleDataObject da cui creare l'elemento OLE.

render
Flag che specifica come il server eseguirà il rendering dell'elemento OLE. Per i valori possibili, vedere OLERENDER in Windows SDK.

cfFormat
Specifica il formato dei dati degli Appunti da memorizzare nella cache durante la creazione dell'elemento OLE.

lpFormatEtc
Puntatore a una struttura FORMATETC utilizzata se il rendering è OLERENDER_FORMAT o OLERENDER_DRAW. Specificare un valore per questo parametro solo se si desidera specificare informazioni di formato aggiuntive oltre il formato degli Appunti specificato da cfFormat. Se si omette questo parametro, i valori predefiniti vengono usati per gli altri campi della FORMATETC struttura.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Le operazioni di trasferimento dei dati, ad esempio incollando gli Appunti o le operazioni di trascinamento della selezione, forniscono COleDataObject oggetti contenenti le informazioni offerte da un'applicazione server. Viene in genere usato nell'override di CView::OnDrop.

Per altre informazioni, vedere OleCreateFromData, OLERENDER e FORMATETC in Windows SDK.

COleClientItem::CreateFromFile

Chiamare questa funzione per creare un elemento OLE incorporato da un file.

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

Parametri

lpszFileName
Puntatore al nome del file da cui creare l'elemento OLE.

clsid
Riservato a un uso futuro.

render
Flag che specifica come il server eseguirà il rendering dell'elemento OLE. Per i valori possibili, vedere OLERENDER in Windows SDK.

cfFormat
Specifica il formato dei dati degli Appunti da memorizzare nella cache durante la creazione dell'elemento OLE.

lpFormatEtc
Puntatore a una struttura FORMATETC utilizzata se il rendering è OLERENDER_FORMAT o OLERENDER_DRAW. Specificare un valore per questo parametro solo se si desidera specificare informazioni di formato aggiuntive oltre il formato degli Appunti specificato da cfFormat. Se si omette questo parametro, i valori predefiniti vengono usati per gli altri campi della FORMATETC struttura.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Il framework chiama questa funzione da COleInsertDialog::CreateItem se l'utente sceglie OK nella finestra di dialogo Inserisci oggetto quando è selezionato il pulsante Crea da file.

Per altre informazioni, vedere OleCreateFromFile, OLERENDER e FORMATETC in Windows SDK.

COleClientItem::CreateLinkFromClipboard

Chiamare questa funzione per creare un elemento collegato dal contenuto degli Appunti.

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

Parametri

render
Flag che specifica come il server eseguirà il rendering dell'elemento OLE. Per i valori possibili, vedere OLERENDER in Windows SDK.

cfFormat
Specifica il formato dei dati degli Appunti da memorizzare nella cache durante la creazione dell'elemento OLE.

lpFormatEtc
Puntatore a una struttura FORMATETC utilizzata se il rendering è OLERENDER_FORMAT o OLERENDER_DRAW. Specificare un valore per questo parametro solo se si desidera specificare informazioni di formato aggiuntive oltre il formato degli Appunti specificato da cfFormat. Se si omette questo parametro, i valori predefiniti vengono usati per gli altri campi della FORMATETC struttura.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Questa funzione viene in genere chiamata dal gestore messaggi per il comando Incolla collegamento dal menu Modifica. Il comando Incolla collegamento è abilitato nell'implementazione predefinita di COleDocument se gli Appunti contengono un elemento OLE a cui è possibile collegare.

Per altre informazioni, vedere OLERENDER e FORMATETC in Windows SDK.

COleClientItem::CreateLinkFromData

Chiamare questa funzione per creare un elemento collegato da un COleDataObject oggetto .

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

Parametri

pDataObject
Puntatore all'oggetto COleDataObject da cui creare l'elemento OLE.

render
Flag che specifica come il server eseguirà il rendering dell'elemento OLE. Per i valori possibili, vedere OLERENDER in Windows SDK.

cfFormat
Specifica il formato dei dati degli Appunti da memorizzare nella cache durante la creazione dell'elemento OLE.

lpFormatEtc
Puntatore a una struttura FORMATETC utilizzata se il rendering è OLERENDER_FORMAT o OLERENDER_DRAW. Specificare un valore per questo parametro solo se si desidera specificare informazioni di formato aggiuntive oltre il formato degli Appunti specificato da cfFormat. Se si omette questo parametro, i valori predefiniti vengono usati per gli altri campi della FORMATETC struttura.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Chiamare questa operazione durante un'operazione di rilascio quando l'utente indica che deve essere creato un collegamento. Può essere usato anche per gestire il comando Modifica incolla. Viene chiamato dal framework in COleClientItem::CreateLinkFromClipboard e in COlePasteSpecialDialog::CreateItem quando è stata selezionata l'opzione Link.

Per altre informazioni, vedere OleCreateLinkFromData, OLERENDER e FORMATETC in Windows SDK.

COleClientItem::CreateLinkFromFile

Chiamare questa funzione per creare un elemento OLE collegato da un file.

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

Parametri

lpszFileName
Puntatore al nome del file da cui creare l'elemento OLE.

render
Flag che specifica come il server eseguirà il rendering dell'elemento OLE. Per i valori possibili, vedere OLERENDER in Windows SDK.

cfFormat
Specifica il formato dei dati degli Appunti da memorizzare nella cache durante la creazione dell'elemento OLE.

lpFormatEtc
Puntatore a una struttura FORMATETC utilizzata se il rendering è OLERENDER_FORMAT o OLERENDER_DRAW. Specificare un valore per questo parametro solo se si desidera specificare informazioni di formato aggiuntive oltre il formato degli Appunti specificato da cfFormat. Se si omette questo parametro, i valori predefiniti vengono usati per gli altri campi della FORMATETC struttura.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Il framework chiama questa funzione se l'utente sceglie OK dalla finestra di dialogo Inserisci oggetto quando è selezionato il pulsante Crea da file e la casella di controllo Collegamento è selezionata. Viene chiamato da COleInsertDialog::CreateItem.

Per altre informazioni, vedere OleCreateLinkToFile, OLERENDER e FORMATETC in Windows SDK.

COleClientItem::CreateNewItem

Chiamare questa funzione per creare un elemento incorporato; questa funzione avvia l'applicazione server che consente all'utente di creare l'elemento OLE.

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

Parametri

clsid
ID che identifica in modo univoco il tipo di elemento OLE da creare.

render
Flag che specifica come il server eseguirà il rendering dell'elemento OLE. Per i valori possibili, vedere OLERENDER in Windows SDK.

cfFormat
Specifica il formato dei dati degli Appunti da memorizzare nella cache durante la creazione dell'elemento OLE.

lpFormatEtc
Puntatore a una struttura FORMATETC utilizzata se il rendering è OLERENDER_FORMAT o OLERENDER_DRAW. Specificare un valore per questo parametro solo se si desidera specificare informazioni di formato aggiuntive oltre il formato degli Appunti specificato da cfFormat. Se si omette questo parametro, i valori predefiniti vengono usati per gli altri campi della FORMATETC struttura.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Il framework chiama questa funzione se l'utente sceglie OK nella finestra di dialogo Inserisci oggetto quando è selezionato il pulsante Crea nuovo.

Per altre informazioni, vedere OleCreate, OLERENDER e FORMATETC in Windows SDK.

COleClientItem::CreateStaticFromClipboard

Chiamare questa funzione per creare un elemento statico dal contenuto degli Appunti.

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

Parametri

render
Flag che specifica come il server eseguirà il rendering dell'elemento OLE. Per i valori possibili, vedere OLERENDER in Windows SDK.

cfFormat
Specifica il formato dei dati degli Appunti da memorizzare nella cache durante la creazione dell'elemento OLE.

lpFormatEtc
Puntatore a una struttura FORMATETC utilizzata se il rendering è OLERENDER_FORMAT o OLERENDER_DRAW. Specificare un valore per questo parametro solo se si desidera specificare informazioni di formato aggiuntive oltre il formato degli Appunti specificato da cfFormat. Se si omette questo parametro, i valori predefiniti vengono usati per gli altri campi della FORMATETC struttura.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Un elemento statico contiene i dati della presentazione, ma non i dati nativi; di conseguenza non può essere modificato. Questa funzione viene in genere chiamata se la funzione membro CreateFromClipboard ha esito negativo.

Per altre informazioni, vedere OLERENDER e FORMATETC in Windows SDK.

COleClientItem::CreateStaticFromData

Chiamare questa funzione per creare un elemento statico da un COleDataObject oggetto .

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

Parametri

pDataObject
Puntatore all'oggetto COleDataObject da cui creare l'elemento OLE.

render
Flag che specifica come il server eseguirà il rendering dell'elemento OLE. Per i valori possibili, vedere OLERENDER in Windows SDK.

cfFormat
Specifica il formato dei dati degli Appunti da memorizzare nella cache durante la creazione dell'elemento OLE.

lpFormatEtc
Puntatore a una struttura FORMATETC utilizzata se il rendering è OLERENDER_FORMAT o OLERENDER_DRAW. Specificare un valore per questo parametro solo se si desidera specificare informazioni di formato aggiuntive oltre il formato degli Appunti specificato da cfFormat. Se si omette questo parametro, i valori predefiniti vengono usati per gli altri campi della FORMATETC struttura.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Un elemento statico contiene i dati della presentazione, ma non i dati nativi; di conseguenza, non può essere modificato. Questo è essenzialmente lo stesso di CreateStaticFromClipboard , ad eccezione del fatto che un elemento statico può essere creato da un oggetto arbitrario COleDataObject, non solo dagli Appunti.

Usato in COlePasteSpecialDialog::CreateItem quando è selezionata l'opzione Statico.

Per altre informazioni, vedere OleCreateStaticFromData, OLERENDER e FORMATETC in Windows SDK.

COleClientItem::D eactivate

Chiamare questa funzione per disattivare l'elemento OLE e liberare le risorse associate.

void Deactivate();

Osservazioni:

In genere si disattiva un elemento OLE attivo sul posto quando l'utente fa clic sul mouse sull'area client al di fuori dei limiti dell'elemento. Si noti che la disattivazione dell'elemento OLE eliminerà lo stato di annullamento, rendendo impossibile chiamare la funzione membro ReactivateAndUndo .

Se l'applicazione supporta l'annullamento, non chiamare Deactivate; in alternativa, chiamare DeactivateUI.

Per altre informazioni, vedere IOleInPlaceObject::InPlaceDeactivate in Windows SDK.

COleClientItem::D eactivateUI

Chiamare questa funzione quando l'utente disattiva un elemento attivato sul posto.

void DeactivateUI();

Osservazioni:

Questa funzione ripristina lo stato originale dell'interfaccia utente dell'applicazione contenitore, nascondendo eventuali menu e altri controlli creati per l'attivazione sul posto.

Questa funzione non scarica le informazioni sullo stato di annullamento per l'elemento. Tali informazioni vengono conservate in modo che ReactivateAndUndo possa essere usato in un secondo momento per eseguire un comando di annullamento nell'applicazione server, nel caso in cui il comando di annullamento del contenitore venga scelto immediatamente dopo la disattivazione dell'elemento.

Per altre informazioni, vedere IOleInPlaceObject::InPlaceDeactivate in Windows SDK.

COleClientItem::D elete

Chiamare questa funzione per eliminare l'elemento OLE dal documento contenitore.

void Delete(BOOL bAutoDelete = TRUE);

Parametri

bAutoDelete
Specifica se l'elemento deve essere rimosso dal documento.

Osservazioni:

Questa funzione chiama la funzione membro Release , che a sua volta elimina l'oggetto C++ per l'elemento, rimuovendo definitivamente l'elemento OLE dal documento. Se l'elemento OLE è incorporato, i dati nativi per l'elemento vengono eliminati. Chiude sempre un server in esecuzione; pertanto, se l'elemento è un collegamento aperto, questa funzione la chiude.

COleClientItem::D oDragDrop

Chiamare la DoDragDrop funzione membro per eseguire un'operazione di trascinamento della selezione.

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

Parametri

lpItemRect
Rettangolo dell'elemento sullo schermo in coordinate client (pixel).

ptOffset
Offset da lpItemRect in cui la posizione del mouse era al momento del trascinamento.

bIncludeLink
Impostare questa proprietà su TRUE se i dati del collegamento devono essere copiati negli Appunti. Impostarlo su FALSE se l'applicazione server non supporta i collegamenti.

dwEffects
Determina gli effetti consentiti dall'origine di trascinamento nell'operazione di trascinamento.

lpRectStartDrag
Puntatore al rettangolo che definisce dove inizia effettivamente il trascinamento. Per ulteriori informazioni, vedere la sezione Osservazioni successiva.

Valore restituito

Valore DROPEFFECT. Se è DROPEFFECT_MOVE, i dati originali devono essere rimossi.

Osservazioni:

L'operazione di trascinamento della selezione non viene avviata immediatamente. Attende fino a quando il cursore del mouse non lascia il rettangolo specificato da lpRectStartDrag o fino a quando non viene passato un numero specificato di millisecondi. Se lpRectStartDrag è NULL, la dimensione del rettangolo è un pixel.

Il tempo di ritardo viene specificato da un'impostazione della chiave del Registro di sistema. È possibile modificare il tempo di ritardo chiamando CWinApp::WriteProfileString o CWinApp::WriteProfileInt. Se non si specifica il tempo di ritardo, viene utilizzato un valore predefinito di 200 millisecondi. Il tempo di ritardo del trascinamento viene archiviato nel modo seguente:

  • Il tempo di ritardo del trascinamento di Windows NT viene archiviato in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\NT\CurrentVersion\IniFileMapping\win.ini\Windows\DragDelay.

  • Il tempo di ritardo del trascinamento di Windows 3.x viene archiviato in WIN. File INI, nella sezione [Windows}.

  • Il tempo di ritardo trascinamento di Windows 95/98 viene archiviato in una versione memorizzata nella cache di WIN. INI.

Per altre informazioni sul modo in cui le informazioni sul ritardo di trascinamento vengono archiviate nel Registro di sistema o in . File INI, vedere WriteProfileString in Windows SDK.

COleClientItem::D oVerb

Chiamare DoVerb per eseguire il verbo specificato.

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

Parametri

nVerb
Specifica il verbo da eseguire. Può includere uno dei seguenti elementi:

Valore Significato Simbolo
-0 verbo primario OLEIVERB_PRIMARY
-1 Verbo secondario (Nessuno)
-1 Visualizza elemento per la modifica OLEIVERB_SHOW
-2 Modifica elemento in una finestra separata OLEIVERB_OPEN
-3 Nascondi elemento OLEIVERB_HIDE

Il valore -1 è in genere un alias per un altro verbo. Se la modifica aperta non è supportata, -2 ha lo stesso effetto di -1. Per altri valori, vedere IOleObject::D oVerb in Windows SDK.

pView
Puntatore alla finestra di visualizzazione; viene utilizzato dal server per l'attivazione sul posto. Questo parametro deve essere NULL se l'applicazione contenitore non consente l'attivazione sul posto.

lpMsg
Puntatore al messaggio che ha causato l'attivazione dell'elemento.

Valore restituito

Diverso da zero se il verbo è stato eseguito correttamente; in caso contrario, 0.

Osservazioni:

Questa funzione chiama la funzione membro Activate per eseguire il verbo. Rileva anche le eccezioni e visualizza una finestra di messaggio all'utente se ne viene generata una.

Se il verbo primario è Edit e zero viene specificato nel parametro nVerb , viene avviata l'applicazione server per consentire la modifica dell'elemento OLE. Se l'applicazione contenitore supporta l'attivazione sul posto, la modifica può essere eseguita sul posto. Se il contenitore non supporta l'attivazione sul posto (o se è specificato il verbo Apri), il server viene avviato in una finestra separata e la modifica può essere eseguita in tale posizione. In genere, quando l'utente dell'applicazione contenitore fa doppio clic sull'elemento OLE, il valore per il verbo primario nel parametro nVerb determina l'azione che l'utente può eseguire. Tuttavia, se il server supporta una sola azione, viene eseguita tale azione, indipendentemente dal valore specificato nel parametro nVerb .

COleClientItem::D raw

Chiamare questa funzione per disegnare l'elemento OLE nel rettangolo di delimitazione specificato usando il contesto di dispositivo specificato.

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

Parametri

pDC
Puntatore a un oggetto CDC utilizzato per disegnare l'elemento OLE.

lpBounds
Puntatore a un oggetto O RECT una struttura CRect che definisce il rettangolo di delimitazione in cui disegnare l'elemento OLE (in unità logiche determinate dal contesto del dispositivo).

nDrawAspect
Specifica l'aspetto dell'elemento OLE, ovvero la modalità di visualizzazione. Se nDrawAspect è -1, viene usato l'ultimo set di aspetti usando SetDrawAspect . Per altre informazioni sui valori possibili per questo flag, vedere SetDrawAspect.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

La funzione può utilizzare la rappresentazione metafile dell'elemento OLE creato dalla funzione membro OnDraw di COleServerItem.

In genere si usa Draw per la visualizzazione dello schermo, passando il contesto del dispositivo dello schermo come pDC. In questo caso, è necessario specificare solo i primi due parametri.

Il parametro lpBounds identifica il rettangolo nel contesto del dispositivo di destinazione (rispetto alla modalità di mapping corrente). Il rendering può comportare il ridimensionamento dell'immagine e può essere usato dalle applicazioni contenitore per imporre una visualizzazione che si adatta tra la visualizzazione visualizzata e l'immagine stampata finale.

Per altre informazioni, vedere IViewObject::D raw in Windows SDK.

COleClientItem::GetActiveView

Restituisce la visualizzazione in cui l'elemento è attivato sul posto.

CView* GetActiveView() const;

Valore restituito

Puntatore alla vista; in caso contrario, NULL se l'elemento non è attivato sul posto.

COleClientItem::GetCachedExtent

Chiamare questa funzione per recuperare le dimensioni dell'elemento OLE.

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

Parametri

lpSize
Puntatore a una SIZE struttura o a un oggetto CSize che riceverà le informazioni sulle dimensioni.

nDrawAspect
Specifica l'aspetto dell'elemento OLE i cui limiti devono essere recuperati. Per i valori possibili, vedere SetDrawAspect.

Valore restituito

Diverso da zero se ha esito positivo; 0 se l'elemento OLE è vuoto.

Osservazioni:

Questa funzione fornisce le stesse informazioni di GetExtent. Tuttavia, è possibile chiamare GetCachedExtent per ottenere informazioni di extent durante l'elaborazione di altri gestori OLE, ad esempio OnChange. Le dimensioni sono in unità di MM_HIMETRIC.

Ciò è possibile perché GetCachedExtent usa l'interfaccia IViewObject2 anziché l'interfaccia IOleObject per ottenere l'estensione di questo elemento. L'oggetto IViewObject2 COM memorizza nella cache le informazioni sull'extent usate nella chiamata precedente a IViewObject::D raw.

Per altre informazioni, vedere IViewObject2::GetExtent in Windows SDK.

COleClientItem::GetClassID

Restituisce l'ID classe dell'elemento nella memoria a cui punta pClassID.

void GetClassID(CLSID* pClassID) const;

Parametri

pClassID
Puntatore a un identificatore di tipo CLSID per recuperare l'ID classe. Per informazioni su CLSID, vedere Windows SDK.

Osservazioni:

L'ID classe è un numero a 128 bit che identifica in modo univoco l'applicazione che modifica l'elemento.

Per altre informazioni, vedere IPersist::GetClassID in Windows SDK.

COleClientItem::GetClipboardData

Chiamare questa funzione per ottenere un COleDataSource oggetto contenente tutti i dati che verrebbero inseriti negli Appunti tramite una chiamata alla funzione membro CopyToClipboard .

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

Parametri

pDataSource
Puntatore a un oggetto COleDataSource che riceverà i dati contenuti nell'elemento OLE.

bIncludeLink
TRUE se devono essere inclusi i dati di collegamento; in caso contrario FALSE.

lpOffset
Offset del cursore del mouse dall'origine dell'oggetto in pixel.

lpSize
Dimensione dell'oggetto in pixel.

Osservazioni:

GetClipboardData viene chiamato come implementazione predefinita di OnGetClipboardData. Eseguire l'override OnGetClipboardData solo se si desidera offrire formati di dati oltre a quelli offerti da CopyToClipboard. Posizionare tali formati nell'oggetto COleDataSource prima o dopo la chiamata CopyToClipboarda e quindi passare l'oggetto COleDataSource alla funzione COleDataSource::SetClipboard . Ad esempio, se si desidera che la posizione dell'elemento OLE nel relativo documento contenitore lo accompagni negli Appunti, è necessario definire il proprio formato per passare tali informazioni e inserirlo in COleDataSource prima di chiamare CopyToClipboard.

COleClientItem::GetDocument

Chiamare questa funzione per ottenere un puntatore al documento contenente l'elemento OLE.

COleDocument* GetDocument() const;

Valore restituito

Puntatore al documento contenente l'elemento OLE. NULL se l'elemento non fa parte di un documento.

Osservazioni:

Questo puntatore consente l'accesso all'oggetto COleDocument passato come argomento al COleClientItem costruttore.

COleClientItem::GetDrawAspect

Chiamare la GetDrawAspect funzione membro per determinare l'aspetto o la visualizzazione corrente dell'elemento.

DVASPECT GetDrawAspect() const;

Valore restituito

Valore dell'enumerazione DVASPECT, i cui valori sono elencati nel riferimento per SetDrawAspect.

Osservazioni:

L'aspetto specifica la modalità di rendering dell'elemento.

COleClientItem::GetExtent

Chiamare questa funzione per recuperare le dimensioni dell'elemento OLE.

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

Parametri

lpSize
Puntatore a una SIZE struttura o a un CSize oggetto che riceverà le informazioni sulle dimensioni.

nDrawAspect
Specifica l'aspetto dell'elemento OLE i cui limiti devono essere recuperati. Per i valori possibili, vedere SetDrawAspect.

Valore restituito

Diverso da zero se ha esito positivo; 0 se l'elemento OLE è vuoto.

Osservazioni:

Se l'applicazione server è stata scritta utilizzando la libreria di classi Microsoft Foundation, questa funzione fa sì che venga chiamata la funzione membro OnGetExtent dell'oggetto corrispondente COleServerItem . Si noti che le dimensioni recuperate possono differire dall'ultimo set impostato dalla funzione membro SetExtent . Le dimensioni specificate da SetExtent vengono considerate come un suggerimento. Le dimensioni sono in unità di MM_HIMETRIC.

Nota

Non chiamare GetExtent durante l'elaborazione di un gestore OLE, ad esempio OnChange. Chiama invece GetCachedExtent .

Per altre informazioni, vedere IOleObject::GetExtent in Windows SDK.

COleClientItem::GetIconFromRegistry

Chiamare questa funzione membro per recuperare un handle a una risorsa icona associata al server di un determinato CLSID.

HICON GetIconFromRegistry() const;

static HICON GetIconFromRegistry(CLSID& clsid);

Parametri

clsid
Riferimento al CLSID per il server associato all'icona.

Valore restituito

Handle valido per la risorsa icona o NULL se non è possibile trovare l'icona del server o un'icona predefinita.

Osservazioni:

Questa funzione membro non avvierà il server o otterrà un'icona in modo dinamico, anche se il server è già in esecuzione. Questa funzione membro apre invece l'immagine eseguibile del server e recupera l'icona statica associata al server durante la registrazione.

COleClientItem::GetIconicMetafile

Recupera il metafile utilizzato per disegnare l'icona dell'elemento.

HGLOBAL GetIconicMetafile();

Valore restituito

Handle al metafile se riuscito; in caso contrario NULL.

Osservazioni:

Se non è presente alcuna icona corrente, viene restituita un'icona predefinita. Questa operazione viene chiamata automaticamente dai dialoghi MFC/OLE e in genere non viene chiamata direttamente.

Questa funzione chiama anche SetIconicMetafile per memorizzare nella cache il metafile per un uso successivo.

COleClientItem::GetInPlaceWindow

Chiamare la GetInPlaceWindow funzione membro per ottenere un puntatore alla finestra in cui è stato aperto l'elemento per la modifica sul posto.

CWnd* GetInPlaceWindow();

Valore restituito

Puntatore alla finestra di modifica sul posto dell'elemento; NULL se l'elemento non è attivo o se il server non è disponibile.

Osservazioni:

Questa funzione deve essere chiamata solo per gli elementi attivi sul posto.

COleClientItem::GetItemState

Chiamare questa funzione per ottenere lo stato corrente dell'elemento OLE.

UINT GetItemState() const;

Valore restituito

Valore COleClientItem::ItemState enumerato, che può essere uno dei seguenti: emptyState, loadedState, openState, activeStateactiveUIState. Per informazioni su questi stati, vedere l'articolo Contenitori: Stati dell'elemento client.

Osservazioni:

Per ricevere una notifica quando lo stato dell'elemento OLE cambia, utilizzare la funzione membro OnChange .

Per altre informazioni, vedere l'articolo Contenitori: Stati dell'elemento client.

COleClientItem::GetLastStatus

Restituisce il codice di stato dell'ultima operazione OLE.

SCODE GetLastStatus() const;

Valore restituito

Valore SCODE.

Osservazioni:

Per le funzioni membro che restituiscono un valore BOOL false o altre funzioni membro che restituiscono NULL, GetLastStatus restituisce informazioni più dettagliate sull'errore. Tenere presente che la maggior parte delle funzioni membro OLE genera eccezioni per errori più gravi. Le informazioni specifiche sull'interpretazione di SCODE dipendono dalla chiamata OLE sottostante che ha restituito un valore SCODE.

Per altre informazioni su SCODE, vedere Struttura dei codici di errore COM nella documentazione di Windows SDK.

COleClientItem::GetLinkUpdateOptions

Chiamare questa funzione per ottenere il valore corrente dell'opzione link-update per l'elemento OLE.

OLEUPDATE GetLinkUpdateOptions();

Valore restituito

Uno dei valori seguenti:

  • OLEUPDATE_ALWAYS Aggiornare l'elemento collegato quando possibile. Questa opzione supporta il pulsante di opzione Aggiornamento automatico dei collegamenti nella finestra di dialogo Collegamenti.

  • OLEUPDATE_ONCALL Aggiornare l'elemento collegato solo su richiesta dall'applicazione contenitore (quando viene chiamata la funzione membro UpdateLink ). Questa opzione supporta il pulsante di opzione Aggiornamento manuale dei collegamenti nella finestra di dialogo Collegamenti.

Osservazioni:

Si tratta di un'operazione avanzata.

Questa funzione viene chiamata automaticamente dalla classe COleLinksDialog .

Per altre informazioni, vedere IOleLink::GetUpdateOptions in Windows SDK.

COleClientItem::GetType

Chiamare questa funzione per determinare se l'elemento OLE è incorporato o collegato o statico.

OLE_OBJTYPE GetType() const;

Valore restituito

Intero senza segno con uno dei valori seguenti:

  • OT_LINK L'elemento OLE è un collegamento.

  • OT_EMBEDDED L'elemento OLE è incorporato.

  • OT_STATIC L'elemento OLE è statico, ovvero contiene solo dati di presentazione, non dati nativi e pertanto non può essere modificato.

COleClientItem::GetUserType

Chiamare questa funzione per ottenere la stringa visibile dall'utente che descrive il tipo dell'elemento OLE, ad esempio "Documento word".

void GetUserType(
    USERCLASSTYPE nUserClassType,
    CString& rString);

Parametri

nUserClassType
Valore che indica la variante desiderata della stringa che descrive il tipo dell'elemento OLE. Può avere uno dei valori seguenti:

  • USERCLASSTYPE_FULL Nome completo del tipo visualizzato all'utente.

  • USERCLASSTYPE_SHORT Nome breve (massimo 15 caratteri) da utilizzare nei menu a comparsa e nella finestra di dialogo Modifica collegamenti.

  • USERCLASSTYPE_APPNAME Nome dell'applicazione che esegue la manutenzione della classe .

rString
Riferimento a un oggetto CString a cui deve essere restituita la stringa che descrive il tipo dell'elemento OLE.

Osservazioni:

Si tratta spesso della voce nel database di registrazione del sistema.

Se il nome completo del tipo viene richiesto ma non disponibile, viene invece usato il nome breve. Se non viene trovata alcuna voce per il tipo di elemento OLE nel database di registrazione o se non sono presenti tipi utente registrati per il tipo di elemento OLE, viene utilizzato il tipo di utente attualmente archiviato nell'elemento OLE. Se il nome del tipo utente è una stringa vuota, viene usato "Unknown Object".

Per altre informazioni, vedere IOleObject::GetUserType in Windows SDK.

COleClientItem::IsInPlaceActive

Chiamare questa funzione per verificare se l'elemento OLE è attivo sul posto.

BOOL IsInPlaceActive() const;

Valore restituito

Diverso da zero se l'elemento OLE è attivo sul posto; in caso contrario, 0.

Osservazioni:

È comune eseguire logica diversa a seconda che l'elemento venga modificato sul posto. La funzione controlla se lo stato dell'elemento corrente è uguale a activeState o .activeUIState

COleClientItem::IsLinkUpToDate

Chiamare questa funzione per verificare se l'elemento OLE è aggiornato.

BOOL IsLinkUpToDate() const;

Valore restituito

Diverso da zero se l'elemento OLE è aggiornato; in caso contrario, 0.

Osservazioni:

Un elemento collegato può non essere aggiornato se il documento di origine è stato aggiornato. Un elemento incorporato che contiene collegamenti all'interno di esso può diventare obsoleto in modo analogo. La funzione esegue un controllo ricorsivo dell'elemento OLE. Si noti che determinare se un elemento OLE non è aggiornato può essere costoso quanto l'esecuzione di un aggiornamento.

Questa operazione viene chiamata automaticamente dall'implementazione di COleLinksDialog .

Per altre informazioni, vedere IOleObject::IsUpToDate in Windows SDK.

COleClientItem::IsModified

Chiamare questa funzione per verificare se l'elemento OLE è dirty (modificato dall'ultimo salvataggio).

BOOL IsModified() const;

Valore restituito

Diverso da zero se l'elemento OLE è sporco; in caso contrario, 0.

Osservazioni:

Per altre informazioni, vedere IPersistStorage::IsDirty in Windows SDK.

COleClientItem::IsOpen

Chiamare questa funzione per verificare se l'elemento OLE è aperto; ovvero, aperto in un'istanza dell'applicazione server in esecuzione in una finestra separata.

BOOL IsOpen() const;

Valore restituito

Diverso da zero se l'elemento OLE è aperto; in caso contrario, 0.

Osservazioni:

Viene utilizzato per determinare quando disegnare l'oggetto con un motivo di tratteggio. Un oggetto aperto deve avere un motivo di tratteggio disegnato sopra l'oggetto . A tale scopo, è possibile utilizzare un oggetto CRectTracker .

COleClientItem::IsRunning

Chiamare questa funzione per verificare se l'elemento OLE è in esecuzione; ovvero se l'elemento viene caricato e in esecuzione nell'applicazione server.

BOOL IsRunning() const;

Valore restituito

Diverso da zero se l'elemento OLE è in esecuzione; in caso contrario, 0.

Osservazioni:

Per altre informazioni, vedere OleIsRunning in Windows SDK.

COleClientItem::OnActivate

Chiamato dal framework per notificare all'elemento che è stato appena attivato.

virtual void OnActivate();

Osservazioni:

Si noti che questa funzione viene chiamata per indicare che il server è in esecuzione, non per indicare che l'interfaccia utente è stata installata nell'applicazione contenitore. A questo punto, l'oggetto non dispone di un'interfaccia utente attiva (non activeUIStateè ). Non ha installato i menu o la barra degli strumenti. La funzione membro OnActivateUI viene chiamata in questo caso.

L'implementazione predefinita chiama la funzione membro OnChange con OLE_CHANGEDSTATE come parametro. Eseguire l'override di questa funzione per eseguire l'elaborazione personalizzata quando un elemento diventa attivo sul posto.

COleClientItem::OnActivateUI

Il framework chiama OnActivateUI quando l'oggetto ha immesso lo stato attivo dell'interfaccia utente.

virtual void OnActivateUI();

Osservazioni:

L'oggetto ha ora installato la barra degli strumenti e i menu.

L'implementazione predefinita memorizza l'HWND del server per le chiamate successive GetServerWindow .

COleClientItem::OnChange

Chiamato dal framework quando l'utente modifica, salva o chiude l'elemento OLE.

virtual void OnChange(
    OLE_NOTIFICATION nCode,
    DWORD dwParam);

Parametri

nCode
Motivo per cui il server ha modificato l'elemento. Può avere uno dei valori seguenti:

  • OLE_CHANGED l'aspetto dell'elemento OLE è cambiato.

  • OLE_SAVED L'elemento OLE è stato salvato.

  • OLE_CLOSED L'elemento OLE è stato chiuso.

  • OLE_CHANGED_STATE L'elemento OLE è stato modificato da uno stato a un altro.

dwParam
Se nCode è OLE_SAVED o OLE_CLOSED, questo parametro non viene usato. Se nCode è OLE_CHANGED, questo parametro specifica l'aspetto dell'elemento OLE modificato. Per i valori possibili, vedere il parametro dwParam di COleClientItem::D raw. Se nCode è OLE_CHANGED_STATE, questo parametro è un COleClientItem::ItemState valore enumerato e descrive lo stato immesso. Può avere uno dei valori seguenti: emptyState, loadedState, openState, activeStateo activeUIState.

Osservazioni:

Se l'applicazione server viene scritta usando la libreria di classi Microsoft Foundation, questa funzione viene chiamata in risposta alle Notify funzioni membro di COleServerDoc o COleServerItem. L'implementazione predefinita contrassegna il documento contenitore come modificato se nCode è OLE_CHANGED o OLE_SAVED.

Per OLE_CHANGED_STATE, lo stato corrente restituito da GetItemState sarà ancora lo stato precedente, ovvero lo stato corrente prima della modifica dello stato.

Eseguire l'override di questa funzione per rispondere alle modifiche nello stato dell'elemento OLE. In genere si aggiorna l'aspetto dell'elemento invalidando l'area in cui viene visualizzato l'elemento. Chiamare l'implementazione della classe di base all'inizio dell'override.

COleClientItem::OnChangeItemPosition

Chiamato dal framework per notificare al contenitore che l'extent dell'elemento OLE è cambiato durante l'attivazione sul posto.

virtual BOOL OnChangeItemPosition(const CRect& rectPos);

Parametri

rectPos
Indica la posizione dell'elemento rispetto all'area client dell'applicazione contenitore.

Valore restituito

Diverso da zero se la posizione dell'elemento viene modificata correttamente; in caso contrario, 0.

Osservazioni:

L'implementazione predefinita determina il nuovo rettangolo visibile dell'elemento OLE e chiama SetItemRects con i nuovi valori. L'implementazione predefinita calcola il rettangolo visibile per l'elemento e passa tali informazioni al server.

Eseguire l'override di questa funzione per applicare regole speciali all'operazione di ridimensionamento/spostamento. Se l'applicazione è scritta in MFC, questa chiamata viene eseguita perché il server denominato COleServerDoc::RequestPositionChange.

COleClientItem::OnDeactivate

Chiamato dal framework quando l'elemento OLE passa dallo stato attivo sul posto ( activeState) allo stato caricato, ovvero viene disattivato dopo un'attivazione sul posto.

virtual void OnDeactivate();

Osservazioni:

Si noti che questa funzione viene chiamata per indicare che l'elemento OLE è chiuso, non che l'interfaccia utente sia stata rimossa dall'applicazione contenitore. In questo caso, viene chiamata la funzione membro OnDeactivateUI .

L'implementazione predefinita chiama la funzione membro OnChange con OLE_CHANGEDSTATE come parametro. Eseguire l'override di questa funzione per eseguire l'elaborazione personalizzata quando un elemento attivo sul posto viene disattivato. Ad esempio, se si supporta il comando di annullamento nell'applicazione contenitore, è possibile eseguire l'override di questa funzione per eliminare lo stato di annullamento, a indicare che l'ultima operazione eseguita sull'elemento OLE non può essere annullata dopo la disattivazione dell'elemento.

COleClientItem::OnDeactivateAndUndo

Chiamato dal framework quando l'utente richiama il comando di annullamento dopo l'attivazione dell'elemento OLE sul posto.

virtual void OnDeactivateAndUndo();

Osservazioni:

L'implementazione predefinita chiama DeactivateUI per disattivare l'interfaccia utente del server. Eseguire l'override di questa funzione se si implementa il comando di annullamento nell'applicazione contenitore. Nell'override chiamare la versione della classe di base della funzione e quindi annullare l'ultimo comando eseguito nell'applicazione.

Per altre informazioni, vedere IOleInPlaceSite::D eactivateAndUndo in Windows SDK.

COleClientItem::OnDeactivateUI

Chiamato quando l'utente disattiva un elemento attivato sul posto.

virtual void OnDeactivateUI(BOOL bUndoable);

Parametri

bUndoable
Specifica se le modifiche di modifica sono annullabili.

Osservazioni:

Questa funzione ripristina lo stato originale dell'interfaccia utente dell'applicazione contenitore, nascondendo eventuali menu e altri controlli creati per l'attivazione sul posto.

Se bUndoable è FALSE, il contenitore deve disabilitare il comando di annullamento, eliminando in effetti lo stato di annullamento del contenitore, perché indica che l'ultima operazione eseguita dal server non è annullabile.

COleClientItem::OnDiscardUndoState

Chiamato dal framework quando l'utente esegue un'azione che rimuove lo stato di annullamento durante la modifica dell'elemento OLE.

virtual void OnDiscardUndoState();

Osservazioni:

L'implementazione predefinita non esegue alcuna operazione. Eseguire l'override di questa funzione se si implementa il comando di annullamento nell'applicazione contenitore. Nell'override rimuovere lo stato di annullamento dell'applicazione contenitore.

Se il server è stato scritto con la libreria di classi Microsoft Foundation, il server può causare la chiamata di questa funzione chiamando COleServerDoc::D iscardUndoState.

Per altre informazioni, vedere IOleInPlaceSite::D iscardUndoState in Windows SDK.

COleClientItem::OnGetClipboardData

Chiamato dal framework per ottenere un COleDataSource oggetto contenente tutti i dati che verrebbero inseriti negli Appunti da una chiamata alla funzione membro CopyToClipboard o DoDragDrop .

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

Parametri

bIncludeLink
Impostare su TRUE se i dati di collegamento devono essere copiati negli Appunti. Impostare su FALSE se l'applicazione server non supporta i collegamenti.

lpOffset
Puntatore all'offset del cursore del mouse dall'origine dell'oggetto in pixel.

lpSize
Puntatore alla dimensione dell'oggetto in pixel.

Valore restituito

Puntatore a un oggetto COleDataSource contenente i dati degli Appunti.

Osservazioni:

L'implementazione predefinita di questa funzione chiama GetClipboardData.

COleClientItem::OnGetClipRect

Il framework chiama la OnGetClipRect funzione membro per ottenere le coordinate del rettangolo di ritaglio dell'elemento che viene modificato sul posto.

virtual void OnGetClipRect(CRect& rClipRect);

Parametri

rClipRect
Puntatore a un oggetto della classe CRect che conterrà le coordinate del rettangolo di ritaglio dell'elemento.

Osservazioni:

Le coordinate sono in pixel rispetto all'area client della finestra dell'applicazione contenitore.

L'implementazione predefinita restituisce semplicemente il rettangolo client della visualizzazione in cui l'elemento è attivo sul posto.

COleClientItem::OnGetItemPosition

Il framework chiama la OnGetItemPosition funzione membro per ottenere le coordinate dell'elemento che viene modificato sul posto.

virtual void OnGetItemPosition(CRect& rPosition);

Parametri

rPosition
Riferimento all'oggetto CRect che conterrà le coordinate di posizione dell'elemento.

Osservazioni:

Le coordinate sono in pixel rispetto all'area client della finestra dell'applicazione contenitore.

L'implementazione predefinita di questa funzione non esegue alcuna operazione. Le applicazioni che supportano la modifica sul posto richiedono l'implementazione.

COleClientItem::OnGetWindowContext

Chiamato dal framework quando viene attivato un elemento sul posto.

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

Parametri

ppMainFrame
Puntatore a un puntatore alla finestra cornice principale.

ppDocFrame
Puntatore a un puntatore alla finestra della cornice del documento.

lpFrameInfo
Puntatore a una struttura OLEINPLACEFRAMEINFO che riceverà informazioni sulla finestra cornice.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Questa funzione viene utilizzata per recuperare informazioni sulla finestra padre dell'elemento OLE.

Se il contenitore è un'applicazione MDI, l'implementazione predefinita restituisce un puntatore all'oggetto CMDIFrameWnd in ppMainFrame e un puntatore all'oggetto CMDIChildWnd attivo in ppDocFrame. Se il contenitore è un'applicazione SDI, l'implementazione predefinita restituisce un puntatore all'oggetto CFrameWnd in ppMainFrame e restituisce NULL in ppDocFrame. L'implementazione predefinita compila anche i membri di lpFrameInfo.

Eseguire l'override di questa funzione solo se l'implementazione predefinita non è adatta all'applicazione; ad esempio, se l'applicazione ha un paradigma dell'interfaccia utente diverso da SDI o MDI. Si tratta di un override avanzato.

Per altre informazioni, vedere IOleInPlaceSite::GetWindowContext e la struttura OLEINPLACEFRAMEINFO in Windows SDK.

COleClientItem::OnInsertMenus

Chiamato dal framework durante l'attivazione sul posto per inserire i menu dell'applicazione contenitore in un menu vuoto.

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

Parametri

pMenuShared
Punta a un menu vuoto.

lpMenuWidths
Punta a una matrice di sei valori LONG che indicano quanti menu si trovano in ognuno dei gruppi di menu seguenti: File, Modifica, Contenitore, Oggetto, Finestra, Guida. L'applicazione contenitore è responsabile dei gruppi di menu File, Contenitore e Finestra, corrispondenti agli elementi 0, 2 e 4 di questa matrice.

Osservazioni:

Questo menu viene quindi passato al server, che inserisce i propri menu, creando un menu composito. Questa funzione può essere chiamata ripetutamente per creare diversi menu compositi.

L'implementazione predefinita inserisce in pMenuShared i menu dei contenitori sul posto, ovvero i gruppi di menu File, Contenitore e Finestra. CDocTemplate::SetContainerInfo viene usato per impostare questa risorsa di menu. L'implementazione predefinita assegna anche i valori appropriati agli elementi 0, 2 e 4 in lpMenuWidths, a seconda della risorsa di menu. Eseguire l'override di questa funzione se l'implementazione predefinita non è appropriata per l'applicazione; ad esempio, se l'applicazione non usa modelli di documento per l'associazione di risorse ai tipi di documento. Se si esegue l'override di questa funzione, è necessario eseguire anche l'override di OnSetMenu e OnRemoveMenus. Si tratta di un override avanzato.

Per altre informazioni, vedere IOleInPlaceFrame::InsertMenus in Windows SDK.

COleClientItem::OnRemoveMenus

Chiamato dal framework per rimuovere i menu del contenitore dal menu composito specificato al termine dell'attivazione sul posto.

virtual void OnRemoveMenus(CMenu* pMenuShared);

Parametri

pMenuShared
Punta al menu composito costruito dalle chiamate alla funzione membro OnInsertMenus .

Osservazioni:

L'implementazione predefinita rimuove da pMenuShared i menu dei contenitori sul posto, ovvero i gruppi di menu File, Contenitore e Finestra. Eseguire l'override di questa funzione se l'implementazione predefinita non è appropriata per l'applicazione; ad esempio, se l'applicazione non usa modelli di documento per l'associazione di risorse ai tipi di documento. Se si esegue l'override di questa funzione, è consigliabile eseguire anche l'override di OnInsertMenus e OnSetMenu . Si tratta di un override avanzato.

I sottomenu in pMenuShared possono essere condivisi da più menu compositi se il server ha chiamato OnInsertMenusripetutamente . Pertanto, non è consigliabile eliminare alcun sottomenu nell'override di OnRemoveMenus. È consigliabile scollegarli solo.

Per altre informazioni, vedere IOleInPlaceFrame::RemoveMenus in Windows SDK.

COleClientItem::OnScrollBy

Chiamato dal framework per scorrere l'elemento OLE in risposta alle richieste dal server.

virtual BOOL OnScrollBy(CSize sizeExtent);

Parametri

sizeExtent
Specifica le distanze, in pixel, da scorrere nelle direzioni x e y.

Valore restituito

Diverso da zero se l'elemento è stato scorrevole; 0 se non è stato possibile scorrere l'elemento.

Osservazioni:

Ad esempio, se l'elemento OLE è parzialmente visibile e l'utente si sposta all'esterno dell'area visibile durante l'esecuzione della modifica sul posto, questa funzione viene chiamata per mantenere visibile il cursore. L'implementazione predefinita non esegue alcuna operazione. Eseguire l'override di questa funzione per scorrere l'elemento in base all'importo specificato. Si noti che, in seguito allo scorrimento, la parte visibile dell'elemento OLE può cambiare. Chiamare SetItemRects per aggiornare il rettangolo visibile dell'elemento.

Per altre informazioni, vedere IOleInPlaceSite::Scroll in Windows SDK.

COleClientItem::OnSetMenu

Chiamato dal framework due volte quando l'attivazione sul posto inizia e termina; la prima volta per installare il menu composito e la seconda volta (con foromenu uguale a NULL) per rimuoverlo.

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

Parametri

pMenuShared
Puntatore al menu composito costruito dalle chiamate alla funzione membro OnInsertMenus e alla InsertMenu funzione .

foromenu
Handle per il descrittore di menu restituito dalla OleCreateMenuDescriptor funzione o NULL se il codice di invio deve essere rimosso.

hwndActiveObject
Handle nella finestra di modifica per l'elemento OLE. Si tratta della finestra che riceverà i comandi di modifica da OLE.

Osservazioni:

L'implementazione predefinita installa o rimuove il menu composito e quindi chiama la funzione OleSetMenuDescriptor per installare o rimuovere il codice di invio. Eseguire l'override di questa funzione se l'implementazione predefinita non è appropriata per l'applicazione. Se si esegue l'override di questa funzione, è consigliabile eseguire anche l'override di OnInsertMenus e OnRemoveMenus . Si tratta di un override avanzato.

Per altre informazioni, vedere OleCreateMenuDescriptor, OleSetMenuDescriptor e IOleInPlaceFrame::SetMenu in Windows SDK.

COleClientItem::OnShowControlBars

Chiamato dal framework per visualizzare e nascondere le barre di controllo dell'applicazione contenitore.

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

Parametri

pFrameWnd
Puntatore alla finestra cornice dell'applicazione contenitore. Può trattarsi di una finestra cornice principale o di una finestra figlio MDI.

bShow
Specifica se le barre di controllo devono essere visualizzate o nascoste.

Valore restituito

Diverso da zero se la chiamata di funzione causa una modifica dello stato delle barre di controllo; 0 se la chiamata non causa alcuna modifica o se pFrameWnd non punta alla finestra cornice del contenitore.

Osservazioni:

Questa funzione restituisce 0 se le barre di controllo sono già nello stato specificato da bShow. Ciò si verifica, ad esempio, se le barre di controllo sono nascoste e bShow è FALSE.

L'implementazione predefinita rimuove la barra degli strumenti dalla finestra cornice di primo livello.

COleClientItem::OnShowItem

Chiamato dal framework per visualizzare l'elemento OLE, rendendolo totalmente visibile durante la modifica.

virtual void OnShowItem();

Osservazioni:

Viene usato quando l'applicazione contenitore supporta i collegamenti a elementi incorporati, ovvero se è stata derivata la classe documento da COleLinkingDoc. Questa funzione viene chiamata durante l'attivazione sul posto o quando l'elemento OLE è un'origine di collegamento e l'utente vuole modificarlo. L'implementazione predefinita attiva la prima visualizzazione nel documento contenitore. Eseguire l'override di questa funzione per scorrere il documento in modo che l'elemento OLE sia visibile.

COleClientItem::OnUpdateFrameTitle

Chiamato dal framework durante l'attivazione sul posto per aggiornare la barra del titolo della finestra cornice.

virtual BOOL OnUpdateFrameTitle();

Valore restituito

Diverso da zero se questa funzione ha aggiornato correttamente il titolo del frame; in caso contrario, zero.

Osservazioni:

L'implementazione predefinita non modifica il titolo della finestra cornice. Eseguire l'override di questa funzione se si desidera un titolo di frame diverso per l'applicazione, ad esempio " elemento dell'app - server in docname" (come in "Microsoft Excel - foglio di calcolo in REPORT.DOC"). Si tratta di un override avanzato.

COleClientItem::ReactivateAndUndo

Chiamare questa funzione per riattivare l'elemento OLE e annullare l'ultima operazione eseguita dall'utente durante la modifica sul posto.

BOOL ReactivateAndUndo();

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Se l'applicazione contenitore supporta il comando di annullamento, chiamare questa funzione se l'utente sceglie il comando di annullamento immediatamente dopo aver disattivato l'elemento OLE.

Se l'applicazione server viene scritta con le librerie di classi Microsoft Foundation, questa funzione fa sì che il server chiami COleServerDoc::OnReactivateAndUndo.

Per altre informazioni, vedere IOleInPlaceObject::ReactivateAndUndo in Windows SDK.

COleClientItem::Release

Chiamare questa funzione per pulire le risorse usate dall'elemento OLE.

virtual void Release(OLECLOSE dwCloseOption = OLECLOSE_NOSAVE);

Parametri

dwCloseOption
Flag che specifica in quali circostanze l'elemento OLE viene salvato quando torna allo stato caricato. Per un elenco dei valori possibili, vedere COleClientItem::Close.

Osservazioni:

Release viene chiamato dal COleClientItem distruttore.

Per altre informazioni, vedere IUnknown::Release in Windows SDK.

COleClientItem::Ricaricamento

Chiude e ricarica l'elemento.

BOOL Reload();

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Chiamare la Reload funzione dopo aver attivato l'elemento come elemento di un altro tipo tramite una chiamata a ActivateAs.

COleClientItem::Run

Esegue l'applicazione associata a questo elemento.

void Run();

Osservazioni:

Chiamare la Run funzione membro per avviare l'applicazione server prima di attivare l'elemento. Questa operazione viene eseguita automaticamente da Activate e DoVerb, quindi in genere non è necessario chiamare questa funzione. Chiamare questa funzione se è necessario eseguire il server per impostare un attributo di elemento, ad esempio SetExtent, prima di eseguire DoVerb.

COleClientItem::SetDrawAspect

Chiamare la SetDrawAspect funzione membro per impostare l'aspetto o la visualizzazione dell'elemento.

virtual void SetDrawAspect(DVASPECT nDrawAspect);

Parametri

nDrawAspect
Valore dell'enumerazione DVASPECT. Per il parametro è possibile specificare uno dei valori riportati di seguito:

  • DVASPECT_CONTENT Item è rappresentato in modo che possa essere visualizzato come oggetto incorporato all'interno del relativo contenitore.

  • DVASPECT_THUMBNAIL viene eseguito il rendering dell'elemento in una rappresentazione di "anteprima" in modo che possa essere visualizzato in uno strumento di esplorazione.

  • DVASPECT_ICON Elemento è rappresentato da un'icona.

  • DVASPECT_DOCPRINT Elemento viene rappresentato come se fosse stampato usando il comando Stampa dal menu File.

Osservazioni:

L'aspetto specifica il modo in cui l'elemento deve essere sottoposto a rendering da Draw quando viene utilizzato il valore predefinito per l'argomento nDrawAspect della funzione.

Questa funzione viene chiamata automaticamente dall'icona di modifica (e da altre finestre di dialogo che chiamano direttamente la finestra di dialogo Cambia icona) per abilitare l'aspetto di visualizzazione iconico quando richiesto dall'utente.

COleClientItem::SetExtent

Chiamare questa funzione per specificare la quantità di spazio disponibile per l'elemento OLE.

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

Parametri

size
Oggetto CSize contenente le informazioni sulle dimensioni.

nDrawAspect
Specifica l'aspetto dell'elemento OLE i cui limiti devono essere impostati. Per i valori possibili, vedere SetDrawAspect.

Osservazioni:

Se l'applicazione server è stata scritta utilizzando la libreria di classi Microsoft Foundation, in questo modo viene chiamata la funzione membro OnSetExtent dell'oggetto corrispondente COleServerItem . L'elemento OLE può quindi regolarne la visualizzazione di conseguenza. Le dimensioni devono essere in unità di MM_HIMETRIC. Chiamare questa funzione quando l'utente ridimensiona l'elemento OLE o se si supporta una forma di negoziazione del layout.

Per altre informazioni, vedere IOleObject::SetExtent in Windows SDK.

COleClientItem::SetHostNames

Chiamare questa funzione per specificare il nome dell'applicazione contenitore e il nome del contenitore per un elemento OLE incorporato.

void SetHostNames(
    LPCTSTR lpszHost,
    LPCTSTR lpszHostObj);

Parametri

lpszHost
Puntatore al nome visibile dall'utente dell'applicazione contenitore.

lpszHostObj
Puntatore a una stringa di identificazione del contenitore che contiene l'elemento OLE.

Osservazioni:

Se l'applicazione server è stata scritta utilizzando la libreria di classi Microsoft Foundation, questa funzione chiama la funzione membro OnSetHostNames del COleServerDoc documento che contiene l'elemento OLE. Queste informazioni vengono utilizzate nei titoli delle finestre quando l'elemento OLE viene modificato. Ogni volta che viene caricato un documento contenitore, il framework chiama questa funzione per tutti gli elementi OLE nel documento. SetHostNames è applicabile solo agli elementi incorporati. Non è necessario chiamare questa funzione ogni volta che viene attivato un elemento OLE incorporato per la modifica.

Viene chiamato automaticamente anche con il nome dell'applicazione e il nome del documento quando viene caricato un oggetto o quando un file viene salvato con un nome diverso. Di conseguenza, non è in genere necessario chiamare direttamente questa funzione.

Per altre informazioni, vedere IOleObject::SetHostNames in Windows SDK.

COleClientItem::SetIconicMetafile

Memorizza nella cache il metafile utilizzato per disegnare l'icona dell'elemento.

BOOL SetIconicMetafile(HGLOBAL hMetaPict);

Parametri

hMetaPict
Handle del metafile utilizzato per disegnare l'icona dell'elemento.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Usare GetIconicMetafile per recuperare il metafile.

Il parametro hMetaPict viene copiato nell'elemento, pertanto hMetaPict deve essere liberato dal chiamante.

COleClientItem::SetItemRects

Chiamare questa funzione per impostare il rettangolo di delimitazione o il rettangolo visibile dell'elemento OLE.

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

Parametri

lprcPosRect
Puntatore al rettangolo contenente i limiti dell'elemento OLE rispetto alla relativa finestra padre, nelle coordinate client.

lprcClipRect
Puntatore al rettangolo contenente i limiti della parte visibile dell'elemento OLE rispetto alla relativa finestra padre, nelle coordinate client.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario, 0.

Osservazioni:

Questa funzione viene chiamata dall'implementazione predefinita della funzione membro OnChangeItemPosition . È necessario chiamare questa funzione ogni volta che cambia la posizione o la parte visibile dell'elemento OLE. In genere ciò significa che viene chiamato dalle funzioni membro OnSize e OnScrollBy della visualizzazione.

Per altre informazioni, vedere IOleInPlaceObject::SetObjectRects in Windows SDK.

COleClientItem::SetLinkUpdateOptions

Chiamare questa funzione per impostare l'opzione link-update per la presentazione dell'elemento collegato specificato.

void SetLinkUpdateOptions(OLEUPDATE dwUpdateOpt);

Parametri

dwUpdateOpt
Valore dell'opzione link-update per questo elemento. Questo valore deve essere uno dei seguenti:

  • OLEUPDATE_ALWAYS Aggiornare l'elemento collegato quando possibile. Questa opzione supporta il pulsante di opzione Aggiornamento automatico dei collegamenti nella finestra di dialogo Collegamenti.

  • OLEUPDATE_ONCALL Aggiornare l'elemento collegato solo su richiesta dall'applicazione contenitore (quando viene chiamata la funzione membro UpdateLink ). Questa opzione supporta il pulsante di opzione Aggiornamento manuale dei collegamenti nella finestra di dialogo Collegamenti.

Osservazioni:

In genere, non è consigliabile modificare le opzioni di aggiornamento scelte dall'utente nella finestra di dialogo Collegamenti.

Per altre informazioni, vedere IOleLink::SetUpdateOptions in Windows SDK.

COleClientItem::SetPrintDevice

Chiamare questa funzione per modificare il dispositivo di destinazione di stampa per questo elemento.

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

Parametri

Ptd
Puntatore a una struttura di dati DVTARGETDEVICE , che contiene informazioni sul nuovo dispositivo di destinazione di stampa. Può essere NULL.

Ppd
Puntatore a una struttura di dati PRINTDLG , che contiene informazioni sul nuovo dispositivo di destinazione di stampa. Può essere NULL.

Valore restituito

Diverso da zero se la funzione ha avuto esito positivo; in caso contrario, 0.

Osservazioni:

Questa funzione aggiorna il dispositivo di destinazione di stampa per l'elemento, ma non aggiorna la cache delle presentazioni. Per aggiornare la cache di presentazione per un elemento, chiamare UpdateLink.

Gli argomenti di questa funzione contengono informazioni usate dal sistema OLE per identificare il dispositivo di destinazione. La PRINTDLG struttura contiene informazioni utilizzate da Windows per inizializzare la finestra di dialogo stampa comune. Dopo che l'utente chiude la finestra di dialogo, Windows restituisce informazioni sulle selezioni dell'utente in questa struttura. Il m_pd membro di un oggetto CPrintDialog è una PRINTDLG struttura.

Per altre informazioni su questa struttura, vedere PRINTDLG in Windows SDK.

Per altre informazioni, vedere DVTARGETDEVICE in Windows SDK.

Chiamare questa funzione per aggiornare immediatamente i dati della presentazione dell'elemento OLE.

BOOL UpdateLink();

Valore restituito

Diverso da zero in caso di esito positivo; in caso contrario, 0.

Osservazioni:

Per gli elementi collegati, la funzione trova l'origine del collegamento per ottenere una nuova presentazione per l'elemento OLE. Questo processo può comportare l'esecuzione di una o più applicazioni server, che potrebbero richiedere molto tempo. Per gli elementi incorporati, la funzione opera in modo ricorsivo, verificando se l'elemento incorporato contiene collegamenti che potrebbero non essere aggiornati e aggiornarli. L'utente può anche aggiornare manualmente singoli collegamenti tramite la finestra di dialogo Collegamenti.

Per altre informazioni, vedere IOleLink::Update in Windows SDK.

Vedi anche

MFC Sample MFCBIND
OCLIENT di esempio MFC
Classe CDocItem
Grafico della gerarchia
Classe COleServerItem