Estructura OLEUIPASTESPECIALA (oledlg.h)

Contiene información que usa la biblioteca de interfaz de usuario OLE para inicializar el cuadro de diálogo Pegar especial , así como espacio para que la biblioteca devuelva información cuando se descarte el cuadro de diálogo.

Sintaxis

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;

Miembros

cbStruct

El tamaño de la estructura en bytes. Este miembro debe rellenarse en la entrada.

dwFlags

En la entrada, dwFlags especifica las marcas de inicialización y creación. Al salir, especifica las opciones del usuario. Puede ser una combinación de las marcas siguientes.

Valor Significado
PSF_SHOWHELP
El cuadro de diálogo mostrará un botón Ayuda .
PSF_SELECTPASTE
El botón de radio Pegar se seleccionará al iniciar el cuadro de diálogo. Este es el valor predeterminado, si no se especifican PSF_SELECTPASTE o PSF_SELECTPASTELINK. Además, especifica el estado del botón en la finalización del diálogo. Marca IN/OUT.
PSF_SELECTPASTELINK
El botón de radio PasteLink se seleccionará al iniciar el cuadro de diálogo. Además, especifica el estado del botón al finalizar el diálogo. Marca IN/OUT.
PSF_CHECKDISPLAYASICON
Indica si se ha activado el botón de radio Mostrar como icono al finalizar el cuadro de diálogo. Marca OUT.
PSF_DISABLEDISPLAYASICON
La casilla Mostrar como icono se deshabilitará al inicializar.
HIDECHANGEICON
Se usa para deshabilitar el botón cambiar icono en el cuadro de diálogo, que está disponible para los usuarios cuando pegan un objeto OLE de forma predeterminada. Vea STAYONCLIPBOARDCHANGE en caso contrario.
STAYONCLIPBOARDCHANGE
Se usa para indicar al cuadro de diálogo que permanezca al día si el Portapapeles cambia mientras el cuadro de diálogo está arriba. Si el usuario cambia a otra aplicación y copia o corta algo, el cuadro de diálogo, de forma predeterminada, realizará una operación de cancelación, que quitará el cuadro de diálogo, ya que las opciones que se encuentran en medio de presentar al usuario ya no están actualizadas con respecto a lo que realmente está en el Portapapeles.
NOREFRESHDATAOBJECT
Se usa junto con STAYONCLIPBOARDCHANGE (no hace nada de lo contrario). Si el Portapapeles cambia mientras el cuadro de diálogo está arriba y se especifica STAYONCLIPBOARDCHANGE , NOREFRESHDATAOBJECT indica que el cuadro de diálogo NO debe actualizar el contenido del cuadro de diálogo para reflejar el nuevo contenido del Portapapeles. Esto resulta útil si la aplicación usa el cuadro de diálogo especial paste-special en un IDataObject además del del Portapapeles, por ejemplo, como parte de una operación de arrastrar y colocar.

hWndOwner

Ventana propietaria del cuadro de diálogo. Este miembro no debe ser NULL.

lpszCaption

Puntero a una cadena que se va a usar como título del cuadro de diálogo. Si es NULL, la biblioteca usa Paste Special.

lpfnHook

Puntero a una función de enlace que procesa los mensajes destinados al cuadro de diálogo. La función de enlace debe devolver cero para pasar un mensaje que no se procesó de nuevo en el procedimiento del cuadro de diálogo de la biblioteca. La función de enlace debe devolver un valor distinto de cero para evitar que el procedimiento del cuadro de diálogo de la biblioteca procese un mensaje que ya ha procesado.

lCustData

Datos definidos por la aplicación a los que pasa la biblioteca a la función de enlace a la que apunta el miembro lpfnHook . La biblioteca pasa un puntero a la estructura OLEUIPASTESPECIAL en el parámetro lParam del mensaje WM_INITDIALOG; este puntero se puede usar para recuperar el miembro lCustData .

hInstance

Instancia que contiene una plantilla de cuadro de diálogo especificada por el miembro lpTemplateName .

lpszTemplate

Puntero a una cadena terminada en NULL que especifica el nombre del archivo de recursos para la plantilla de cuadro de diálogo que se va a sustituir por la plantilla del cuadro de diálogo Pegar especial de la biblioteca.

hResource

Identificador de plantilla personalizado.

lpSrcDataObj

Puntero a la interfaz IDataObject del objeto de datos que se va a pegar (desde el Portapapeles). Este miembro se rellena en la entrada. Si lpSrcDataObj es NULL cuando se llama a OleUIPasteSpecial , OleUIPasteSpecial intentará recuperar un puntero a un IDataObject desde el Portapapeles. Si OleUIPasteSpecial se realiza correctamente, es responsabilidad del autor de la llamada liberar el IDataObject devuelto en lpSrcDataObj.

arrPasteEntries

Matriz OLEUIPASTEENTRY que especifica formatos aceptables. Este miembro se rellena en la entrada.

cPasteEntries

Número de entradas de matriz OLEUIPASTEENTRY . Este miembro se rellena en la entrada.

arrLinkTypes

Lista de tipos de vínculo que son aceptables. Se hace referencia a los tipos de vínculo mediante OLEUIPASTEFLAG en arrPasteEntries. Este miembro se rellena en la entrada.

cLinkTypes

Número de tipos de vínculo. Este miembro se rellena en la entrada.

cClsidExclude

Número de CLSID en lpClsidExclude. Este miembro se rellena en la entrada.

lpClsidExclude

Puntero a una matriz de CLSID que se va a excluir de la lista de objetos de servidor disponibles para una operación paste. Tenga en cuenta que esto no afecta a Pegar vínculo. Una aplicación puede impedir la inserción en sí misma enumerando su propio CLSID en esta lista. Este campo se rellena en la entrada.

nSelectedIndex

Índice de arrPasteEntries que el usuario seleccionó. Este miembro se rellena en la salida.

fLink

Indica si el usuario seleccionó Pegar o Pegar vínculo . Este miembro se rellena en la salida.

hMetaPict

Identificador del metarchivo que contiene el icono y el título del icono seleccionado por el usuario. Este miembro se rellena en la salida.

sizel

Tamaño del objeto tal como se muestra en su origen, si el aspecto de visualización elegido por el usuario coincide con el aspecto mostrado en el origen. Si el usuario elige un aspecto diferente, sizel.cx y sizel.cy se establecen en cero. El tamaño del objeto tal como se muestra en el origen se recupera del objectDescriptor si fLink es FALSE y del linkSrcDescriptor si fLink es TRUE. Este miembro se rellena en la salida.

Comentarios

Nota

El encabezado oledlg.h define OLEUIPASTESPECIAL como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado oledlg.h

Consulte también

OLEUIPASTEENTRY

OLEUIPASTEFLAG

OleUIPasteSpecial