Condividi tramite


Struttura OLEUIPASTESPECIALA (oledlg.h)

Contiene informazioni utilizzate dalla libreria dell'interfaccia utente OLE per inizializzare la finestra di dialogo Incolla speciale , nonché spazio per la raccolta per restituire informazioni quando la finestra di dialogo viene chiusa.

Sintassi

typedef struct tagOLEUIPASTESPECIALA {
  DWORD              cbStruct;
  DWORD              dwFlags;
  HWND               hWndOwner;
  LPCSTR             lpszCaption;
  LPFNOLEUIHOOK      lpfnHook;
  LPARAM             lCustData;
  HINSTANCE          hInstance;
  LPCSTR             lpszTemplate;
  HRSRC              hResource;
  LPDATAOBJECT       lpSrcDataObj;
  LPOLEUIPASTEENTRYA arrPasteEntries;
  int                cPasteEntries;
  UINT               *arrLinkTypes;
  int                cLinkTypes;
  UINT               cClsidExclude;
  LPCLSID            lpClsidExclude;
  int                nSelectedIndex;
  BOOL               fLink;
  HGLOBAL            hMetaPict;
  SIZEL              sizel;
} OLEUIPASTESPECIALA, *POLEUIPASTESPECIALA, *LPOLEUIPASTESPECIALA;

Membri

cbStruct

Dimensione della struttura, in byte. Questo membro deve essere compilato nell'input.

dwFlags

In caso di input, dwFlags specifica i flag di inizializzazione e creazione. All'uscita, specifica le scelte dell'utente. Può trattarsi di una combinazione dei flag seguenti.

Valore Significato
PSF_SHOWHELP
Nella finestra di dialogo verrà visualizzato un pulsante guida .
PSF_SELECTPASTE
Il pulsante di opzione Incolla verrà selezionato all'avvio della finestra di dialogo. Si tratta dell'impostazione predefinita, se non vengono specificati PSF_SELECTPASTE o PSF_SELECTPASTELINK. Specifica inoltre lo stato del pulsante alla terminazione della finestra di dialogo. Flag IN/OUT.
PSF_SELECTPASTELINK
Il pulsante di opzione PasteLink verrà selezionato all'avvio della finestra di dialogo. Specifica inoltre lo stato del pulsante alla terminazione della finestra di dialogo. Flag IN/OUT.
PSF_CHECKDISPLAYASICON
Indica se il pulsante di opzione Visualizza come icona è stato selezionato alla chiusura della finestra di dialogo. Flag OUT.
PSF_DISABLEDISPLAYASICON
La casella di controllo Visualizza come icona verrà disabilitata all'inizializzazione.
HIDECHANGEICON
Consente di disabilitare il pulsante change-icon nella finestra di dialogo, disponibile per gli utenti quando incolla un oggetto OLE per impostazione predefinita. Vedere STAYONCLIPBOARDCHANGE in caso contrario.
STAYONCLIPBOARDCHANGE
Consente di indicare alla finestra di dialogo di rimanere aggiornati se gli Appunti cambiano durante la finestra di dialogo. Se l'utente passa a un'altra applicazione e copia o taglia qualcosa, la finestra di dialogo eseguirà, per impostazione predefinita, un'operazione di annullamento, che rimuoverà la finestra di dialogo perché le opzioni al centro della presentazione all'utente non sono più up-to-date rispetto a ciò che è realmente negli Appunti.
NOREFRESHDATAOBJECT
Usato in combinazione con STAYONCLIPBOARDCHANGE (non esegue alcuna operazione diversa). Se gli Appunti cambiano mentre la finestra di dialogo è aperta e viene specificata la STAYONCLIPBOARDCHANGE, NOREFRESHDATAOBJECT indica che la finestra di dialogo non deve aggiornare il contenuto della finestra di dialogo per riflettere il nuovo contenuto degli Appunti. Ciò è utile se l'applicazione usa la finestra di dialogo incolla-speciale in un IDataObject oltre a quello negli Appunti, ad esempio come parte di un'operazione di trascinamento della selezione con il pulsante destro del mouse.

hWndOwner

Finestra proprietaria della finestra di dialogo. Questo membro non deve essere NULL.

lpszCaption

Puntatore a una stringa da usare come titolo della finestra di dialogo. Se NULL , la libreria usa Incolla speciale.

lpfnHook

Puntatore a una funzione hook che elabora i messaggi destinati alla finestra di dialogo. La funzione hook deve restituire zero per passare un messaggio che non è stato elaborato di nuovo alla routine della finestra di dialogo nella libreria. La funzione hook deve restituire un valore diverso da zero per impedire alla routine della finestra di dialogo della libreria di elaborare un messaggio già elaborato.

lCustData

Dati definiti dall'applicazione che la libreria passa alla funzione hook a cui punta il membro lpfnHook. La libreria passa un puntatore alla struttura OLEUIPASTESPECIAL nel parametro lParam del messaggio WM_INITDIALOG; questo puntatore può essere usato per recuperare il membro lCustData.

hInstance

Istanza che contiene un modello di finestra di dialogo specificato dal membro lpTemplateName.

lpszTemplate

Puntatore a una stringa con terminazione Null che specifica il nome del file di risorse per il modello della finestra di dialogo da sostituire con il modello di finestra di dialogo Incolla speciale della libreria.

hResource

Handle di modello personalizzato.

lpSrcDataObj

Puntatore all'interfaccia IDataObject dell'oggetto dati da incollare (dagli Appunti). Questo membro viene compilato in base all'input. Se lpSrcDataObj è NULL quando viene chiamato OleUIPasteSpecial, OleUIPasteSpecial tenterà di recuperare un puntatore a un IDataObject dagli Appunti. Se oleUIPasteSpecial ha esito positivo, è responsabilità del chiamante liberare il IDataObject restituito in lpSrcDataObj.

arrPasteEntries

Matrice OLEUIPASTEENTRY che specifica formati accettabili. Questo membro viene compilato in base all'input.

cPasteEntries

Numero di voci di matrice OLEUIPASTEENTRY. Questo membro viene compilato in base all'input.

arrLinkTypes

Elenco di tipi di collegamento accettabili. I tipi di collegamento vengono indicati usando OLEUIPASTEFLAG in arrPasteEntries. Questo membro viene compilato in base all'input.

cLinkTypes

Numero di tipi di collegamento. Questo membro viene compilato in base all'input.

cClsidExclude

Numero di CLSID in lpClsidExclude. Questo membro viene compilato in base all'input.

lpClsidExclude

Puntatore a una matrice di CLSID da escludere dall'elenco di oggetti server disponibili per un'operazione Incolla. Si noti che questo non influisce Incolla collegamento. Un'applicazione può impedire l'incorporamento in se stesso elencando il proprio CLSID in questo elenco. Questo campo viene compilato in base all'input.

nSelectedIndex

Indice di arrPasteEntries selezionato dall'utente. Questo membro viene compilato nell'output.

fLink

Se Incolla o Incolla collegamento è stato selezionato dall'utente. Questo membro viene compilato nell'output.

hMetaPict

Handle nel Metafile contenente l'icona e il titolo dell'icona selezionati dall'utente. Questo membro viene compilato nell'output.

sizel

Dimensione dell'oggetto visualizzato nella relativa origine, se l'aspetto visualizzato scelto dall'utente corrisponde all'aspetto visualizzato nell'origine. Se l'utente sceglie un aspetto diverso, sizel.cx e sizel.cy sono entrambi impostati su zero. Le dimensioni dell'oggetto visualizzato nell'origine vengono recuperate dal ObjectDescriptor se fLink è false e dal LinkSrcDescriptor se fLink è TRUE. Questo membro viene compilato nell'output.

Osservazioni

Nota

L'intestazione oledlg.h definisce OLEUIPASTESPECIAL come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
intestazione oledlg.h

Vedere anche

OLEUIPASTEENTRY

OLEUIPASTEFLAG

OleUIPasteSpecial