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
‘Извлекаем текстовое сообщение из буфера обмена
‘и помещаем его в текстовое окно «Text2»
Text1.SelText = Clipboard.GetText
Примечание |
Последняя команда имеет следующую особенность: текст вставляется вместо выделенной в этом окне части сообщения, если текст не будет выделен, то информация будет вставлена в местоположение курсора. |
Выделять текст в окне «TextBox» можно мышкой, а можно с помощью специальных функций:
NameText.SelStart =
Number1
NameText.SelLength =
Number2
·
NameText
– имя
текстового
окна.
· SelStart – свойство, устанавливающее начало выделенной части сообщения в символах (первый символ – ноль).
· SelLength – число символов, составляющих выделенный фрагмент текста.
· Number1, Number2 – соответствующие значения свойств.
Примечание |
Команды «Вырезать» в Visual Basic нет. Для ее реализации сначала копируют информацию в буфер обмена, а затем эту информацию удаляют из ее источника. |
Контрольные
вопросы для
самопроверки