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à
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.
COleClientItem::CanPasteLink
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 CopyToClipboard
a 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
, activeState
activeUIState
. 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
, activeState
o 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 OnInsertMenus
ripetutamente . 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.
COleClientItem::UpdateLink
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