Condividi tramite


Funzione OleUIInsertObjectW (oledlg.h)

Richiama la finestra di dialogo Inserisci oggetto standard, che consente all'utente di selezionare un'origine oggetto e un nome di classe, nonché l'opzione di visualizzare l'oggetto come se stesso o come icona.

Sintassi

UINT OleUIInsertObjectW(
  [in] LPOLEUIINSERTOBJECTW unnamedParam1
);

Parametri

[in] unnamedParam1

Puntatore alla struttura OLEUIINSERTOBJECT in uscita per questa finestra di dialogo.

Valore restituito

Definizioni di esito positivo/errore standard

Codice restituito Descrizione
OLEUI_FALSE
Errore sconosciuto (inutilizzato).
OLEUI_OK
L'utente ha premuto il pulsante OK.
OLEUI_SUCCESS
Nessun errore, come OLEUI_OK.
OLEUI_CANCEL
L'utente ha premuto il pulsante Annulla.
 

Errori di convalida dei campi standard

Codice restituito Descrizione
OLEUI_ERR_STANDARDMIN
Gli errori comuni a tutte le finestre di dialogo si trovano nell'intervallo OLEUI_ERR_STANDARDMIN da OLEUI_ERR_STANDARDMAX. Questo valore consente all'applicazione di testare i messaggi standard per visualizzare i messaggi di errore all'utente.
OLEUI_ERR_STRUCTURENULL
Il puntatore a una struttura OLEUIXXX passata alla funzione è NULL.
OLEUI_ERR_STRUCTUREINVALID
Autorizzazioni insufficienti per l'accesso in lettura o scrittura a una struttura OLEUIXXX.
OLEUI_ERR_CBSTRUCTINCORRECT
Il valore cbstruct non è corretto.
OLEUI_ERR_HWNDOWNERINVALID
Il valore hWndOwner non è valido.
OLEUI_ERR_LPSZCAPTIONINVALID
Il valore lpszCaption non è valido.
OLEUI_ERR_LPFNHOOKINVALID
Il valore lpfnHook non è valido.
OLEUI_ERR_HINSTANCEINVALID
Il valore hInstance non è valido.
OLEUI_ERR_LPSZTEMPLATEINVALID
Il valore lpszTemplate non è valido.
OLEUI_ERR_HRESOURCEINVALID
Il valore hResource non è valido.
 

Errori di inizializzazione

Codice restituito Descrizione
OLEUI_ERR_FINDTEMPLATEFAILURE
Impossibile trovare il modello della finestra di dialogo.
OLEUI_ERR_LOADTEMPLATEFAILURE
Impossibile caricare il modello della finestra di dialogo.
OLEUI_ERR_DIALOGFAILURE
Inizializzazione della finestra di dialogo non riuscita.
OLEUI_ERR_LOCALMEMALLOC
Chiamata a LocalAlloc o allocatore IMalloc standard non riuscita.
OLEUI_ERR_GLOBALMEMALLOC
Chiamata a GlobalAlloc o allocatore IMalloc standard non riuscita.
OLEUI_ERR_LOADSTRING
Impossibile chiamare LoadString per le risorse localizzate dalla libreria.
OLEUI_ERR_OLEMEMALLOC
Chiamata all'allocatore IMalloc standard non riuscita.
 

Errori specifici della funzione

Codice restituito Descrizione
OLEUI_ERR_STANDARDMAX
Gli errori comuni a tutte le finestre di dialogo si trovano nell'intervallo OLEUI_ERR_STANDARDMIN da OLEUI_ERR_STANDARDMAX. Questo valore consente all'applicazione di testare i messaggi standard per visualizzare i messaggi di errore all'utente.
OLEUI_IOERR_LPSZFILEINVALID
Il valore lpszFile non è valido o l'utente dispone di autorizzazioni di accesso in scrittura insufficienti. Questo membro lpszFile punta al nome del file collegato o inserito.
OLEUI_IOERR_PPVOBJINVALID
Il valore ppvOjb non è valido. Questo membro punta alla posizione in cui viene restituito il puntatore per l'oggetto.
OLEUI_IOERR_LPIOLECLIENTSITEINVALID
Il valore lpIOleClientSite non è valido. Questo membro punta al sito client per l'oggetto .
OLEUI_IOERR_LPISTORAGEINVALID
Il valore lpIStorage non è valido. Questo membro punta alla risorsa di archiviazione da utilizzare per l'oggetto .
OLEUI_IOERR_SCODEHASERROR
Il membro sc di lpIO contiene informazioni aggiuntive sull'errore.
OLEUI_IOERR_LPCLSIDEXCLUDEINVALID
Il valore lpClsidExclude non è valido. Questo membro contiene l'elenco di CLSID da escludere.
OLEUI_IOERR_CCHFILEINVALID
Il valore cchFile o lpszFile non è valido. Il membro cchFile specifica le dimensioni del buffer lpszFile . Il membro lpszFile punta al nome del file collegato o inserito.

Commenti

OleUIInsertObject consente all'utente di selezionare il tipo di oggetto da inserire da una casella di riepilogo contenente le applicazioni oggetto registrate nel sistema dell'utente. Per popolare tale casella di riepilogo, OleUIInsertObject attraversa il Registro di sistema, aggiungendo ogni server oggetti trovato che soddisfa i criteri seguenti:

  • La voce del Registro di sistema non include la chiave NotInsertable.
  • La voce del Registro di sistema include una chiave ole 1.0 style Protocol\\StdFileEditing\\Server.
  • La voce del Registro di sistema include la chiave inseriscibile.
  • Il CLSID dell'oggetto non è incluso nell'elenco di oggetti da escludere (il membro lpClsidExclude di OLEUIINSERTOBJECT).
Per impostazione predefinita, OleUIInsertObject non convalida i server oggetti, tuttavia, se il flag IOF_VERIFYSERVEREXIST è incluso nel membro dwFlags della struttura OLEUIINSERTOBJECT , OleUIInsertObject verifica che il server esista. Se non esiste, l'oggetto del server non viene aggiunto all'elenco di oggetti disponibili. La convalida del server è un'operazione lunga e rappresenta un fattore di prestazioni significativo.

Per liberare un oggetto HMETAFILEPICT restituito dalla finestra di dialogo Inserisci oggetto o Incolla speciale , eliminare il metafile collegato nell'handle, come indicato di seguito:

void FreeHmetafilepict(HMETAFILEPICT hmfp) 
{ 
    if (hmfp != NULL) 
        { 
        LPMETAFILEPICT pmfp = GlobalLock(hmfp); 
 
        DeleteMetaFile(pmfp->hMF); 
        GlobalUnlock(hmfp); 
        GlobalFree(hmfp); 
        } 
    else
        {
        // Handle null pointers here.
        exit(0);
        }
} 

Nota

L'intestazione oledlg.h definisce OLEUIINSERTOBJECT come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione oledlg.h
Libreria OleDlg.lib
DLL OleDlg.dll

Vedi anche

OLEUIINSERTOBJECT

OpenFile