Мой Kbyte.Ru
Рассылка Kbyte.Ru
Группы на Kbyte.Ru
Партнеры Kbyte.Ru
Реклама
Сделано руками
Сделано руками
> Статьи - Алексей Немиро -

Visual Basic 5.0/6.0 - Система

Все статьи / Система

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

Автор: Алексей Немиро | добавлено: 02.03.2010, 23:56 | просмотров: 6104 (0+) | комментариев: 0 | рейтинг: *x0

…Многие приложения, относящиеся к категории редакторов, активно используют буфер обмена 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

 

И напоследок, рекомендую перед внесением данных в буфер обмен очистить его, поскольку в Win2k/XP/2003 данные могут не записаться, т.ч. записаться не туда куда нужно ;)

+ Добавить в избранное
    ? Помощь
Об авторе

Алексей Немиро

Интернет-деятель. Автор многочисленных статей и переводов статей по программированию и информационным технологиям. Работы Алексея можно найти в популярных печатных изданиях компьютерной тематики. Автор проекта Kbyte.Ru.
Сейчас Алексей занимается профессиональным Web-программированием на базе технологий .NET Framework. Иногда пишет различные программки и компоненты для Windows и Android. В свободное время занимается Web-дизайном, увлекается фото- и видеосъемкой.

См. также:
Профиль автора
Алексей Немиро
Последние комментарии (всего: 0)

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


Нет комментариев...

Авторизация
 
OpenID
Зарегистрируйся и получи 10% скидку на добавление своего сайта в каталоги! Подробнее »
Поиск по сайту
Реклама
Счетчики