Рейтинг блогов

Работа с буфером обмена

дата добавления: 01 июня 2003 / 20:57, просмотров: 21474, комментариев: 0

…Многие приложения, относящиеся к категории редакторов, активно используют буфер обмена Windows. В данной статье я расскажу о том, как при помощи Visual Basic(а) можно использовать буфер обмена в ваших приложениях.

 

Запись данных

 

Существует два типа данных, которые можно записать в буфер обмена Windows - это текстовые и графические.

 

Для записи текстовых данных используется функция SetText объекта Clipboard:

 

Clipboard.SetText "Данные", | vbCFText | vbCFRTF | vbCFLink |

 

, где

vbCFText - неформатированный текст;

vbCFText - форматированный RTF-текст;

vbCFLink - текст в формате DDE;

 

Например, чтобы записать в буфер обмена текст "VB 6.0 - крутой язык программирования", код будет иметь следующий вид:

 

Clipboard.SetText " VB 6.0 - крутой язык программирования", vbCFText

 

, а для записи форматированного текста "VB 6.0 -крутой язык программирования":

 

Clipboard.SetText "VB 6.0 -крутой язык программирования", vbCFRTF

 

Для записи графических данных используется функция SetData:

 

Clipboard.SetData Графический_объект, | vbCFBitmap | vbCFMetafile | vbCFDIB | vbCFPalette |

 

, где

vbCFBitmap - картинка в формате BMP;

vbCFMetafile - картинка в формате Windows-метафайлов;

vbCFDIB - формат DIB;

vbCFPalette - цветовая палитра;

 

Например, чтобы поместить данные из Picture1 (PictureBox) в буфер обмена, код будет таким:

 

Clipboard.SetData Picture1.Picture, vbCFBitmap

 

Чтение данных

 

Для чтения текстовых данных используется функция GetText, а для графических, соответственно, GetData.

 

Например, код сообщения, показывающего текстовые данных, находящиеся в буфере обмена, будет иметь следующий вид:

 

MsgBox Clipboard.GetText

 

Примерно так же будет выглядеть код загрузки графических данных из буфера в Picture1 (PictureBox):

 

Picture1.Picture = Clipboard.GetData

 

Формат данных

 

Для того чтобы узнать какой формат данных находится в буфере, используется метод Clipboard.GetFormat

 

Например, если буфер содержит данные в текстовом формате, то ниже написанный код возвратит значение True:

 

MsgBox Clipboard.GetFormat(vbCFText)

 

Очистка

 

Для очистки буфера используется метод Clipboard.Clear

Комментарии (всего: 0)

Добавить комментарий rss

В этой записи пока еще нет комментариев...

Добавить комментарий

Добавлять комментарии могут только зарегистрированные пользователи сайта.
Если у Вас уже есть учётная запись на этом сайте, пройдите процудуру авторизации.
В противном случае, зарегистрируйтесь на сайте.