На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

SetClipboardData



The SetClipboardData function places data on the clipboard in a specified clipboard format. The window must be the current clipboard owner, and the application must have called the OpenClipboard function. (When responding to the WM_RENDERFORMAT and WM_RENDERALLFORMATS messages, the clipboard owner must not call OpenClipboard before calling SetClipboardData.)

HANDLE SetClipboardData(

UINT uFormat, // clipboard format
HANDLE hMem // data handle
);


Parameters

uFormat

Specifies a clipboard format. This parameter can be a registered format or any of the standard clipboard formats listed in the following Remarks section. For information about registered clipboard formats, see the RegisterClipboardFormat function.

hMem

Identifies the data in the specified format. This parameter can be NULL, indicating that the window provides data in the specified clipboard format (renders the format) upon request. If a window delays rendering, it must process the WM_RENDERFORMAT and WM_RENDERALLFORMATS messages.

Once SetClipboardData is called, the system owns the object identified by the hMem parameter. The application can read the data, but must not free the handle or leave it locked. If the hMem parameter identifies a memory object, the object must have been allocated using the GlobalAlloc function with the GMEM_MOVEABLE and GMEM_DDESHARE flags.



Return Values

If the function succeeds, the return value is the handle of the data.
If the function fails, the return value is NULL. To get extended error information, call GetLastError.

Remarks

The uFormat parameter can identify a registered clipboard format, or it can be one of the following values:

Value Meaning
CF_BITMAP A handle to a bitmap (HBITMAP).
CF_DIB A memory object containing a BITMAPINFO structure followed by the bitmap bits.
CF_DIF Software Arts' Data Interchange Format.
CF_DSPBITMAP Bitmap display format associated with a private format. The hMem parameter must be a handle of data that can be displayed in bitmap format in lieu of the privately formatted data.
CF_DSPENHMETAFILE Enhanced metafile display format associated with a private format. The hMem parameter must be a handle of data that can be displayed in enhanced metafile format in lieu of the privately formatted data.
CF_DSPMETAFILEPICT Metafile-picture display format associated with a private format. The hMem parameter must be a handle of data that can be displayed in metafile-picture format in lieu of the privately formatted data.
CF_DSPTEXT Text display format associated with a private format. The hMem parameter must be a handle of data that can be displayed in text format in lieu of the privately formatted data.
CF_ENHMETAFILE A handle of an enhanced metafile (HENHMETAFILE).
CF_GDIOBJFIRST through CF_GDIOBJLAST Range of integer values for application-defined GDI object clipboard formats. Handles associated with clipboard formats in this range are not automatically deleted using the GlobalFree function when the clipboard is emptied. Also, when using values in this range, the hMem parameter is not a handle to a GDI object, but is a handle allocated by the GlobalAlloc function with the GMEM_DDESHARE and GMEM_MOVEABLE flags.
CF_HDROP A handle of type HDROP that identifies a list of files. An application can retrieve information about the files by passing the handle to the DragQueryFile functions.
CF_LOCALE The data is a handle to the locale identifier associated with text in the clipboard. When you close the clipboard, if it contains CF_TEXT data but no CF_LOCALE data, the system automatically sets the CF_LOCALE format to the current input locale. You can use the CF_LOCALE format to associate a different locale with the clipboard text.An application that pastes text from the clipboard can retrieve this format to determine which character set was used to generate the text.Note that the clipboard does not support plain text in multiple character sets. To achieve this, use a fomatted text data type such as RTF instead.Windows NT: The system uses the code page associated with CF_LOCALE to implicitly convert from CF_TEXT to CF_UNICODETEXT. Therefore, the correct code page table is used for the conversion.
CF_METAFILEPICT Handle of a metafile picture format as defined by the METAFILEPICT structure. When passing a CF_METAFILEPICT handle by means of dynamic data exchange (DDE), the application responsible for deleting hMem should also free the metafile referred to by the CF_METAFILEPICT handle.
CF_OEMTEXT Text format containing characters in the OEM character set. Each line ends with a carriage return/linefeed (CR-LF) combination. A null character signals the end of the data.
CF_OWNERDISPLAY Owner-display format. The clipboard owner must display and update the clipboard viewer window, and receive the WM_ASKCBFORMATNAME, WM_HSCROLLCLIPBOARD, WM_PAINTCLIPBOARD, WM_SIZECLIPBOARD, and WM_VSCROLLCLIPBOARD messages. The hMem parameter must be NULL.
CF_PALETTE Handle of a color palette. Whenever an application places data in the clipboard that depends on or assumes a color palette, it should place the palette on the clipboard as well.
If the clipboard contains data in the CF_PALETTE (logical color palette) format, the application should use the SelectPalette and RealizePalette functions to realize (compare) any other data in the clipboard against that logical palette.
When displaying clipboard data, Windows clipboard always uses as its current palette any object on the clipboard that is in the CF_PALETTE format.
CF_PENDATA Data for the pen extensions to the Microsoft Windows for Pen Computing.
CF_PRIVATEFIRST through CF_PRIVATELAST Range of integer values for private clipboard formats. Handles associated with private clipboard formats are not freed automatically; the clipboard owner must free such handles, typically in response to the WM_DESTROYCLIPBOARD message.
CF_RIFF Represents audio data more complex than can be represented in a CF_WAVE standard wave format.
CF_SYLK Microsoft Symbolic Link (SYLK) format.
CF_TEXT Text format. Each line ends with a carriage return/linefeed (CR-LF) combination. A null character signals the end of the data. Use this format for ANSI text.
CF_WAVE Represents audio data in one of the standard wave formats, such as 11 kHz or 22 kHz pulse code modulation (PCM).
CF_TIFF Tagged-image file format.
CF_UNICODETEXT Windows NT only: Unicode text format. Each line ends with a carriage return/linefeed (CR-LF) combination. A null character signals the end of the data.


The operating system performs implicit data format conversions between certain clipboard formats when an application calls the GetClipboardData function. For example, if the CF_OEMTEXT format is on the clipboard, a window can retrieve data in the CF_TEXT format. The format on the clipboard is converted to the requested format on demand. The following table shows the clipboard data type conversions that are available. Note that some of these automatic type conversions are not available on all platforms.

Clipboard Format Conversion Format Platform Support
CF_BITMAP CF_DIB Windows NT, Windows 95
CF_DIB CF_BITMAP Windows NT, Windows 95
CF_DIB CF_PALETTE Windows NT, Windows 95
CF_ENHMETAFILE CF_METAFILEPICT Windows NT, Windows 95
CF_METAFILEPICT CF_ENHMETAFILE Windows NT, Windows 95
CF_OEMTEXT CF_TEXT Windows NT, Windows 95
CF_OEMTEXT CF_UNICODETEXT Windows NT
CF_TEXT CF_OEMTEXT Windows NT, Windows 95
CF_TEXT CF_UNICODETEXT Windows NT
CF_UNICODETEXT CF_OEMTEXT Windows NT
CF_UNICODETEXT CF_TEXT Windows NT


If the operating system provides an automatic type conversion for a particular clipboard format, there is no advantage to placing the conversion format(s) on the clipboard.
When copying bitmaps, it is best to place only the CF_DIB format on the clipboard. This is because the colors in a device-dependent bitmap (CF_BITMAP) are relative to the system palette, which may change before the bitmap is pasted. If only the CF_DIB format is on the clipboard and a window requests the CF_BITMAP format, the system renders the device-dependent bitmap using the current palette at that time.

If you place the CF_BITMAP format on the clipboard (and not CF_DIB), the system renders the CF_DIB clipboard format as soon as the clipboard is closed. This ensures that the correct palette is used to generate the device-independent bitmap (DIB). Conversions between other clipboard formats occur upon demand.
Windows platforms support two clipboard formats for metafiles: CF_ENHMETAFILE and CF_METAFILEPICT. Specify CF_ENHMETAFILE for enhanced metafiles and CF_METAFILEPICT for Windows metafiles.

See Also

BITMAPINFO, GetClipboardData, GlobalAlloc, GlobalFree, METAFILEPICT, OpenClipboard, RealizePalette, RegisterClipboardFormat, SelectPalette
, WM_ASKCBFORMATNAME, WM_DESTROYCLIPBOARD, WM_HSCROLLCLIPBOARD, WM_PAINTCLIPBOARD, WM_RENDERFORMAT, WM_RENDERALLFORMATS, WM_SIZECLIPBOARD, WM_VSCROLLCLIPBOARD


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

SetClipboardData



Функция SetClipboardData устанавливает данные о буфере в определенном формате буфера. Окно должно быть текущим владельцем буфера, и приложение должно быть названо функция OpenClipboard. (При ответе на WM_RENDERFORMAT и сообщения WM_RENDERALLFORMATS, буфер владельца не должен вызывать OpenClipboard перед разговором SetClipboardData.)

РУЧКА SetClipboardData(

UINT uFormat, // БУФЕР РУЧКИ формата hMem // ручка данных
);


Параметры

uFormat

Определяет буфер формата. Этот параметр может быть зарегистрированным форматом или любого из стандартных форматов буфера указанных в секции Замечаний следующего. Для информации о зарегистрированных форматах буфера, смотри функцию RegisterClipboardFormat.

hMem

Идентифицирует данные в определенном формате. Этот параметр может быть НЕДЕЙСТВИТЕЛЕН, указывая, что окно обеспечивает данные в определенном формате буфера (предоставляет формат) на запросе. Если окно задерживает предоставление, оно должно обработать WM_RENDERFORMAT и сообщения WM_RENDERALLFORMATS.

Как только SetClipboardData будет вызван, система обладает объектом идентифицированным параметром hMem. Приложение может прочитать данные, но не должно освобождать ручку или оставлять заперто. Если параметр hMem идентифицирует объект памяти, объект по-видимому распределен используя функцию GlobalAlloc с GMEM_MOVEABLE и флаги GMEM_DDESHARE.



Обратные Величины

Если функция добивается успеха, обратная величина является ручкой данных.
Если функция терпит неудачу, обратная величина НЕДЕЙСТВИТЕЛЬНА. Для того, чтобы расширять информацию ошибки, вызовите GetLastError.

Замечания

Параметр uFormat может идентифицировать зарегистрированный формат буфера, или это может быть одним из следующего величин:

Значение Величины
CF_BITMAP ручка в побитовое отображение (HBITMAP).
CF_DIB объект памяти, содержащий структуру BITMAPINFO сопровождался битами побитового отображения.
Программное Искусство CF_DIF' Формат Взаимообмена Данных.
дисплейный формат Побитового отображения CF_DSPBITMAP связывались частным форматом. Параметр hMem должен быть ручкой данных, которые могут быть отображены в формате побитового отображения вместо частным образом форматированных данных.
CF_DSPENHMETAFILE Расширял дисплейный формат метафайла связывался частным форматом. Параметр hMem должен быть ручкой данных, которые могут быть отображены в расширенном формате метафайла вместо частным образом форматированных данных.
CF_DSPMETAFILEPICT Метафайл-картинный дисплейный формат связывался частным форматом. Параметр hMem должен быть ручкой данных, которые могут быть отображены в метафайл-картинном формате вместо частным образом форматированных данных.
дисплейный формат Текста CF_DSPTEXT связывались частным форматом. Параметр hMem должен быть ручкой данных, которые могут быть отображены в текстовом формате вместо частным образом форматированных данных.
CF_ENHMETAFILE ручка расширенного метафайла (HENHMETAFILE).
CF_GDIOBJFIRST через Дипазон CF_GDIOBJLAST целого оценивается для определенных прикладных объектных форматов буфера GDI. Ручки связанные буфером форматов в этот дипазон автоматически не удалены используя функцию GlobalFree когда буфер - emptied. Также, при использовании величин в этом дипазоне, параметр hMem не является ручкой на объект GDI, но - ручка распределенная функцией GlobalAlloc с GMEM_DDESHARE и флаги GMEM_MOVEABLE.
CF_HDROP ручка типа HDROP, который идентифицирует список файлов. Приложение может извлечь информацию о файлах передавая ручку в функции DragQueryFile.
CF_LOCALE данные является ручкой на место действия идентификатора связанное текстом в буфер. Когда Вы закрываете буфер, если это не содержит данные CF_TEXT но никакие данные CF_LOCALE, системные автоматически комплекты формат CF_LOCALE на текущее входное место действия. Вы можете использовать формат CF_LOCALE, чтобы соединять другое место действия с буфером текста.Приложение, что прошлое текста из буфера может извлечь этот формат, чтобы определять, что какой набор символов был использован, чтобы генерировать текст.Отметьте, что буфер не поддерживает простой текст во многочисленных наборах символов. Для того, чтобы достигать это, используйте fomatted текстовый тип данных как например, RTF взамен.Windows NT: система использует кодовую страницу связанную CF_LOCALE, чтобы подразумевающийо преобразовываться от CF_TEXT до CF_UNICODETEXT. Следовательно, правильная кодовая страничная таблица использована для преобразования.
Ручка CF_METAFILEPICT картинного формата метафайла как определено структурой METAFILEPICT. При прохождении ручки CF_METAFILEPICT посредством динамического обмена данных (DDE), приложение ответственное за удаляющий hMem должно также освобождать метафайл отосланный, чтобы ручкой CF_METAFILEPICT.
формат Текста CF_OEMTEXT, содержащий символы в наборе символов OEM. Каждая строка заканчивается с переводом строки/переводом строки комбинации (CR-LF). Недействительный символ сигнализирует конец данных.
CF_OWNERDISPLAY Владелец-дисплейный формат. Буфер владельца должен отобразить и корректировать буфер окна абонента и получать WM_ASKCBFORMATNAME, WM_HSCROLLCLIPBOARD, WM_PAINTCLIPBOARD, WM_SIZECLIPBOARD, и сообщения WM_VSCROLLCLIPBOARD. Параметр hMem должен быть НЕДЕЙСТВИТЕЛЕН.
Ручка CF_PALETTE цветной палитры. Всякий раз, когда приложение устанавливает данные в буфере, который зависит от или принимает цветную палитру, это должно устанавливать палитру в буфере также.
Если буфер содержит данные в CF_PALETTE формата (логическая цветная палитра), приложение должно использовать SelectPalette и функции RealizePalette, чтобы реализовывать (сравнение) любые другие данные в буфере против этой логической палитры.
При отображении буфера данных, буфер Windows всегда использует как текущая палитра любой объект в буфере, который - в формате CF_PALETTE.
Данные CF_PENDATA для расширений ручки на Microsoft Windows для Обработки Ручки.
CF_PRIVATEFIRST через Дипазон CF_PRIVATELAST целого оценивается для частных форматов буфера. Ручки связанные частными форматами буфера не освобождаются автоматически; буфер владельца должен освободить такие ручки, обычно в ответ на сообщение WM_DESTROYCLIPBOARD.
CF_RIFF Представляет аудио данным более комплекс чем может быть представлено в стандартном волновом формате CF_WAVE.
Символическая Связь CF_SYLK Микрософт (SYLK) формат.
формат Текста CF_TEXT. Каждая строка заканчивается с переводом строки/переводом строки комбинации (CR-LF). Недействительный символ сигнализирует конец данных. Используйте этот формат для текста ANSI.
CF_WAVE Представляет аудио данные в одном из стандартных волновых форматов, как например, 11 kHz или 22 кодовых модуляции импульса kHz (PCM).
CF_TIFF Теговый-файловый формат образа.
CF_UNICODETEXT Windows NT только: текстовый формат Уникода. Каждая строка заканчивается с переводом строки/переводом строки комбинации (CR-LF). Недействительный символ сигнализирует конец данных.


Операционная система выполняет преобразования формата подразумевающихся данных между определенными форматами буфера когда приложение вызывает функцию GetClipboardData. Например, если формат CF_OEMTEXT находится в буфере, окно может извлечь данные в формат CF_TEXT. Формат в буфере преобразован в запрошенный формат по требованию. Следующая таблица показывает буфер преобразований типа данных, который доступен. Отметьте, что некоторые из них автоматические преобразования типа не доступны на всех платформах.

Поддержка Платформы Конверсионного Формата Clipboard Format CF_BITMAP CF_DIB Windows NT, Windows 95 CF_DIB CF_BITMAP Windows NT, Windows 95 CF_DIB CF_PALETTE Windows NT, Windows 95 CF_ENHMETAFILE CF_METAFILEPICT Windows NT, Windows 95 CF_METAFILEPICT CF_ENHMETAFILE Windows NT, Windows 95 CF_OEMTEXT CF_TEXT Windows NT, Windows 95 CF_OEMTEXT CF_UNICODETEXT Windows NT CF_TEXT CF_OEMTEXT Windows NT, Windows 95 CF_TEXT CF_UNICODETEXT Windows NT CF_UNICODETEXT CF_OEMTEXT Windows NT CF_UNICODETEXT CF_TEXT Windows NT


Если операционная система обеспечивает автоматическое преобразование типа для конкретного формата буфера, нет преимущества на размещение конверсионного формата(s) в буфере.
При копировании побитовых отображений, лучще всего устанавливаться только формат CF_DIB в буфере. Дело в том, что цвета в устройство-зависимом побитовом отображении (CF_BITMAP) - относительно системной палитры, которая может измениться прежде, чем побитовое отображение будет вставлено. Если только формат CF_DIB находится в буфере и окно запрашивает формат CF_BITMAP, система предоставляет устройство-зависимое побитовое отображение, использовавшее текущую палитру в этом времени.

Если Вы устанавливаете формат CF_BITMAP в буфере (и не CF_DIB), система предоставляет буфер формата CF_DIB как только буфер будет закрыт. Это проверяет, что правильная палитра использована, чтобы генерировать машинонезависимое побитовое отображение (DIB). Преобразования между другим буфером форматов происходят на требовании.
Платформы Windows поддерживают два буфера форматов для метафайлов: CF_ENHMETAFILE и CF_METAFILEPICT. Определите CF_ENHMETAFILE для расширенных метафайлов и CF_METAFILEPICT для метафайлов Windows.

Смотри Также

BITMAPINFO, GetClipboardData, GlobalAlloc, GlobalFree, METAFILEPICT, OpenClipboard, RealizePalette, RegisterClipboardFormat, SelectPalette , WM_ASKCBFORMATNAME, WM_DESTROYCLIPBOARD, WM_HSCROLLCLIPBOARD, WM_PAINTCLIPBOARD, WM_RENDERFORMAT, WM_RENDERALLFORMATS, WM_SIZECLIPBOARD, WM_VSCROLLCLIPBOARD


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz