Función SetClipboardData (winuser.h)
Coloca datos en el Portapapeles en un formato de Portapapeles especificado. La ventana debe ser el propietario actual del Portapapeles y la aplicación debe haber llamado a la función OpenClipboard . (Al responder al mensaje de WM_RENDERFORMAT , el propietario del Portapapeles no debe llamar a OpenClipboard antes de llamar a SetClipboardData).
Sintaxis
HANDLE SetClipboardData(
[in] UINT uFormat,
[in, optional] HANDLE hMem
);
Parámetros
[in] uFormat
Tipo: UINT
Formato del Portapapeles. Este parámetro puede ser un formato registrado o cualquiera de los formatos estándar del Portapapeles. Para obtener más información, vea Formatos de Portapapeles estándar y Formatos de Portapapeles registrados.
[in, optional] hMem
Tipo: HANDLE
Identificador de los datos en el formato especificado. Este parámetro puede ser NULL, lo que indica que la ventana proporciona datos en el formato del Portapapeles especificado (representa el formato) a petición; esto se conoce como representación diferida. Si una ventana retrasa la representación, debe procesar los mensajes WM_RENDERFORMAT y WM_RENDERALLFORMATS .
Si SetClipboardData se realiza correctamente, el sistema posee el objeto identificado por el parámetro hMem . Es posible que la aplicación no escriba en o libere los datos una vez que se haya transferido la propiedad al sistema, pero puede bloquear y leer de los datos hasta que se llame a la función CloseClipboard . (La memoria debe desbloquearse antes de cerrar el Portapapeles). Si el parámetro hMem identifica un objeto de memoria, el objeto debe haberse asignado mediante la función con la marca GMEM_MOVEABLE .
Valor devuelto
Tipo: HANDLE
Si la función se ejecuta correctamente, el valor devuelto es el identificador de los datos.
Si la función no se realiza correctamente, el valor devuelto es NULL. Para obtener información de error extendida, llame a GetLastError.
Comentarios
Windows 8: Los mapas de bits que se van a compartir con las aplicaciones de la Tienda Windows deben tener el formato CF_BITMAP (mapa de bits dependiente del dispositivo).
Si una aplicación llama a SetClipboardData en respuesta a WM_RENDERFORMAT o WM_RENDERALLFORMATS, la aplicación no debe usar el identificador después de llamar a SetClipboardData .
Si una aplicación llama a OpenClipboard con hwnd establecido en NULL, EmptyClipboard establece el propietario del Portapapeles en NULL; Esto hace que SetClipboardData produzca un error.
El sistema realiza conversiones implícitas de formato de datos entre determinados formatos del Portapapeles cuando una aplicación llama a la función GetClipboardData . Por ejemplo, si el formato CF_OEMTEXT está en el Portapapeles, una ventana puede recuperar datos en el formato CF_TEXT . El formato del Portapapeles se convierte al formato solicitado a petición. Para obtener más información, vea Formatos de Portapapeles sintetizados.
Ejemplos
Para obtener un ejemplo, vea Copiar información en el Portapapeles.
Requisitos
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winuser.h (incluir Windows.h) |
Library | User32.lib |
Archivo DLL | User32.dll |
Conjunto de API | ext-ms-win-ntuser-misc-l1-2-0 (introducido en Windows 8.1) |
Consulte también
Conceptual
Referencia