OLEUIPASTESPECIALA-Struktur (oledlg.h)

Enthält Informationen, die die OLE-Benutzeroberflächenbibliothek zum Initialisieren des Dialogfelds Spezial einfügen verwendet, sowie Platz für die Bibliothek, um Informationen zurückzugeben, wenn das Dialogfeld geschlossen wird.

Syntax

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;

Member

cbStruct

Die Größe der Struktur in Bytes. Dieses Element muss bei der Eingabe ausgefüllt werden.

dwFlags

Bei der Eingabe gibt dwFlags die Initialisierungs- und Erstellungsflags an. Beim Beenden werden die Optionen des Benutzers angegeben. Dies kann eine Kombination der folgenden Flags sein.

Wert Bedeutung
PSF_SHOWHELP
Im Dialogfeld wird eine Hilfeschaltfläche angezeigt.
PSF_SELECTPASTE
Das Optionsfeld Einfügen wird beim Start des Dialogfelds ausgewählt. Dies ist der Standardwert, wenn PSF_SELECTPASTE oder PSF_SELECTPASTELINK nicht angegeben werden. Außerdem wird der Status der Schaltfläche bei der Beendigung des Dialogfelds angegeben. IN/OUT-Flag.
PSF_SELECTPASTELINK
Das Optionsfeld PasteLink wird beim Start des Dialogfelds ausgewählt. Gibt außerdem den Status der Schaltfläche bei der Dialogbeendigung an. IN/OUT-Flag.
PSF_CHECKDISPLAYASICON
Gibt an, ob das Optionsfeld Anzeige als Symbol bei der Beendigung des Dialogfelds aktiviert wurde. OUT-Flag.
PSF_DISABLEDISPLAYASICON
Das Kontrollkästchen Als Symbol anzeigen wird bei der Initialisierung deaktiviert.
HIDECHANGEICON
Wird verwendet, um die Änderungssymbolschaltfläche im Dialogfeld zu deaktivieren, die standardmäßig für Benutzer verfügbar ist, wenn sie ein OLE-Objekt einfügen. Weitere Informationen finden Sie unter STAYONCLIPBOARDCHANGE .
STAYONCLIPBOARDCHANGE
Wird verwendet, um das Dialogfeld anzuhalten, wenn sich die Zwischenablage ändert, während das Dialogfeld geöffnet ist. Wenn der Benutzer zu einer anderen Anwendung wechselt und etwas kopiert oder ausschneidet, führt das Dialogfeld standardmäßig einen Abbruchvorgang aus, wodurch das Dialogfeld entfernt wird, da die Optionen, die sich in der Mitte der Präsentation für den Benutzer befinden, nicht mehr auf dem neuesten Stand sind, was sich tatsächlich in der Zwischenablage befindet.
NOREFRESHDATAOBJECT
Wird in Verbindung mit STAYONCLIPBOARDCHANGE verwendet (es wird nichts anderes ausgeführt). Wenn sich die Zwischenablage ändert, während das Dialogfeld geöffnet ist und STAYONCLIPBOARDCHANGE angegeben ist, gibt NOREFRESHDATAOBJECT an, dass das Dialogfeld den Inhalt des Dialogfelds NICHT aktualisieren soll, um den neuen Inhalt der Zwischenablage widerzuspiegeln. Dies ist nützlich, wenn die Anwendung das Dialogfeld Paste-Special für ein IDataObject neben dem Dialogfeld in der Zwischenablage verwendet, z. B. im Rahmen eines Drag-and-Drop-Vorgangs mit der rechten Maustaste.

hWndOwner

Das Fenster, das das Dialogfeld besitzt. Dieser Member sollte nicht NULL sein.

lpszCaption

Zeiger auf eine Zeichenfolge, die als Titel des Dialogfelds verwendet werden soll. Wenn NULL, verwendet die Bibliothek Spezial einfügen.

lpfnHook

Zeiger auf eine Hookfunktion, die nachrichten verarbeitet, die für das Dialogfeld vorgesehen sind. Die Hookfunktion muss null zurückgeben, um eine Nachricht, die sie nicht verarbeitet hat, an die Dialogfeldprozedur in der Bibliothek zurückzugeben. Die Hookfunktion muss einen Wert ohne Zero zurückgeben, um zu verhindern, dass die Dialogfeldprozedur der Bibliothek eine bereits verarbeitete Nachricht verarbeitet.

lCustData

Anwendungsdefinierte Daten, die die Bibliothek an die Hookfunktion übergibt, auf die das lpfnHook-Element verweist. Die Bibliothek übergibt einen Zeiger auf die OLEUIPASTESPECIAL-Struktur im lParam-Parameter der WM_INITDIALOG Nachricht. Dieser Zeiger kann verwendet werden, um das lCustData-Element abzurufen.

hInstance

Instanz, die eine Dialogfeldvorlage enthält, die vom lpTemplateName-Element angegeben wird.

lpszTemplate

Zeiger auf eine null-beendete Zeichenfolge, die den Namen der Ressourcendatei für die Dialogfeldvorlage angibt, die durch die Vorlage " Spezielle Einfügen" der Bibliothek ersetzt werden soll.

hResource

Angepasstes Vorlagenhandle.

lpSrcDataObj

Zeiger auf die IDataObject-Schnittstelle des zu einfügenden Datenobjekts (aus der Zwischenablage). Dieser Member wird bei der Eingabe ausgefüllt. Wenn lpSrcDataObjnull ist, wenn OleUIPasteSpecial aufgerufen wird, versucht OleUIPasteSpecial , einen Zeiger auf ein IDataObject aus der Zwischenablage abzurufen. Wenn OleUIPasteSpecial erfolgreich ist, liegt es in der Verantwortung des Aufrufers, das in lpSrcDataObj zurückgegebene IDataObject freizugeben.

arrPasteEntries

Das OLEUIPASTEENTRY-Array , das akzeptable Formate angibt. Dieser Member wird bei der Eingabe ausgefüllt.

cPasteEntries

Anzahl der OLEUIPASTEENTRY-Arrayeinträge . Dieser Member wird bei der Eingabe ausgefüllt.

arrLinkTypes

Liste der zulässigen Linktypen. Linktypen werden mithilfe von OLEUIPASTEFLAG in arrPasteEntries verwendet. Dieser Member wird bei der Eingabe ausgefüllt.

cLinkTypes

Anzahl der Linktypen. Dieser Member wird bei der Eingabe ausgefüllt.

cClsidExclude

Anzahl der CLSIDs in lpClsidExclude. Dieser Member wird bei der Eingabe ausgefüllt.

lpClsidExclude

Zeiger auf ein Array von CLSIDs, um aus der Liste der verfügbaren Serverobjekte für einen Paste-Vorgang auszuschließen. Beachten Sie, dass sich dies nicht auf Link einfügen auswirkt. Eine Anwendung kann die Einbettung in sich selbst verhindern, indem sie eine eigene CLSID in dieser Liste auflistet. Dieses Feld wird bei der Eingabe ausgefüllt.

nSelectedIndex

Index der arrPasteEntries , die der Benutzer ausgewählt hat. Dieses Element wird bei der Ausgabe ausgefüllt.

fLink

Gibt an, ob der Benutzer " Link einfügen" oder " Link einfügen" ausgewählt hat. Dieses Element wird bei der Ausgabe ausgefüllt.

hMetaPict

Behandeln Sie die Metadatei, die das vom Benutzer ausgewählte Symbol und den Symboltitel enthält. Dieses Element wird bei der Ausgabe ausgefüllt.

sizel

Die Größe des Objekts, wie in seiner Quelle angezeigt, wenn der vom Benutzer ausgewählte Anzeigeaspekt mit dem in der Quelle angezeigten Aspekt übereinstimmt. Wenn der Benutzer einen anderen Aspekt wählt, werden sizel.cx und sizel.cy auf 0 festgelegt. Die Größe des Objekts, wie es in der Quelle angezeigt wird, wird vom ObjectDescriptor abgerufen, wenn fLinkFALSE ist, und vom LinkSrcDescriptor, wenn fLinkTRUE ist. Dieses Element wird bei der Ausgabe ausgefüllt.

Hinweise

Hinweis

Der oledlg.h-Header definiert OLEUIPASTESPECIAL als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile oledlg.h

Weitere Informationen

OLEUIPASTEENTRY

OLEUIPASTEFLAG

OleUIPasteSpecial