Compartir a través de


Método IInkDisp::ClipboardCopyWithRectangle (msinkaut.h)

Copia los objetos IInkStrokeDisp contenidos en el rectángulo conocido en el Portapapeles.

Sintaxis

HRESULT ClipboardCopyWithRectangle(
  [in]           IInkRectangle       *Rectangle,
  [in, optional] InkClipboardFormats ClipboardFormats,
  [in, optional] InkClipboardModes   ClipboardModes,
  [out, retval]  IDataObject         **DataObject
);

Parámetros

[in] Rectangle

Especifica el rectángulo que contiene los trazos que se van a copiar en el Portapapeles.

[in, optional] ClipboardFormats

Opcional. Especifica el valor de enumeración InkClipboardFormats del objeto InkDisp . El valor predeterminado es ICF_Default.

[in, optional] ClipboardModes

Opcional. Especifica el valor inkClipboardModes (enumeración) del objeto Clase InkDisp . El valor predeterminado es ICB_Default.

[out, retval] DataObject

Cuando este método vuelve, contiene un puntero al objeto de datos recién creado.

Valor devuelto

Este método puede devolver uno de estos valores.

Código devuelto Descripción
S_OK
Correcto.
E_POINTER
Un parámetro contenía un puntero no válido.
E_INK_EXCEPTION
Se produjo una excepción dentro del método .

Comentarios

Si el rectángulo recorta los trazos, esos trazos se recortan en los datos copiados.

Puede resultar útil copiar un objeto InkDisp en el Portapapeles cuando solo desea copiar las propiedades del objeto InkDisp . Para copiar un objeto InkDisp en el Portapapeles, llame al método ClipboardCopy con el parámetro strokes establecido en NULL.

Precaución Para evitar posibles pérdidas de memoria como resultado del uso de la marca ICB_DelayedCopy , debe llamar al método OleFlushClipboard o OleSetClipboard . Esto se debe hacer antes de que la aplicación salga si la última llamada al método ClipboardCopyWithRectangle usó la marca ICB_DelayedCopy .
 
Cuando ClipboardCopyWithRectangle se usa en ICB_Cut modo, se elimina un trazo que se divide en dos o más trazos y se agregan nuevos trazos en su lugar.

Además, los eventos InkAdded y InkDeleted se generan en función de los índices de los trazos. Por ejemplo, si los trazos en índices 0,1,3,5 y 6 se van a eliminar, se generarán dos eventos; uno para trazos con índices 0123 y otro para trazos con índices 5 y 6. Es decir, un evento para cada conjunto contiguo.

Esto también se aplica a los eventos InkAdded . Un algoritmo interno determina los índices de los trazos recién agregados en la colección de trazos y esto tiene un impacto en cómo se desencadenan los eventos InkAdded como se describió anteriormente.

Si se consulta el número de trazos dentro del controlador de eventos, el resultado es el número total de trazos agregados por toda la operación, incluidos los trazos que aún no han generado eventos.

Requisitos

   
Cliente mínimo compatible Windows XP Tablet PC Edition [solo aplicaciones de escritorio]
Servidor mínimo compatible No se admite ninguno
Plataforma de destino Windows
Encabezado msinkaut.h
Library InkObj.dll

Consulte también

ClipboardCopy (método)

IInkDisp

InkClipboardFormats (enumeración)

InkClipboardModes (enumeración)

InkDisp (clase)

Colección InkStrokes