13. РАБОТА С БУФЕРОМ ОБМЕНА WINDOWS

 

Одной из самых важных и популярных функций операционной системы Windows является возможность передачи данных из одного приложения в другое с помощью буфера обмена. Буфер обмена – это зарезервированная операционной системой область памяти, в которую можно поместить данные или извлечь их. К нему имеют доступ все приложения. В нем можно сохранять любой зарегистрированный объект Windows, а также просто текст или числовые значения.

Visual Basic предоставляет доступ к буферу обмена с помощью объекта «Clipboard». У него нет свойств, но имеется много методов (см. табл. 30).

 

Таблица 30

Методы объекта «Clipboard»

Метод

Описание

Clear

Очищает содержимое буфера обмена.

GetData

Возвращает из буфера обмена графические данные.

GetFormat

Возвращает целое число, соответствующее типу находящихся в буфере обмена данных.

GetText

Возвращает из буфера обмена текст в формате ANSI.

SetData

Перемещает в буфер обмена графические данные.

SetText

Перемещает в буфер обмена текст в формате ANSI.

 

Ниже представлен пример использования буфера обмена Windows для работы с текстовым полем:

‘Предварительная очистка буфера обмена

Clipboard.Clear

‘Помещаем выделенный мышью фрагмент сообщения текстового

окна «Text1» в буфер обмена

Clipboard.SetText Text1.SelText

‘Извлекаем текстовое сообщение из буфера обмена

‘и помещаем его в текстовое окно «Text

Text1.SelText = Clipboard.GetText

 

Примечание

Последняя команда имеет следующую особенность: текст вставляется вместо выделенной в этом окне части сообщения, если текст не будет выделен, то информация будет вставлена в местоположение курсора.

 

Выделять текст в окне «TextBox» можно мышкой, а можно с помощью специальных функций:

NameText.SelStart = Number1

NameText.SelLength = Number2

·        NameText – имя текстового окна.

·        SelStart – свойство, устанавливающее начало выделенной части сообщения в символах (первый символ – ноль).

·        SelLength – число символов, составляющих выделенный фрагмент текста.

·        Number1, Number2 – соответствующие значения свойств.

 

 

Примечание

Команды «Вырезать» в Visual Basic нет. Для ее реализации сначала копируют информацию в буфер обмена, а затем эту информацию удаляют из ее источника.

 

 

Контрольные вопросы для самопроверки

  1. Что такое «буфер обмена»?
  2. Для чего нужен «буфер обмена Windows»?
  3. Как скопировать информацию в буфер обмена?
  4. Как получить информацию из буфера обмена?
  5. Напишите программный код команд «Копировать», «Вырезать» и «Вставить» для работы буфера обмена с текстовым окном.