|
| | |
|
Копировать в буффер обмена
Кнопки Вставить и Вырезать есть практически во все
приложения под Windows, вы наверное тоже хотите реализовать что-то
подобное в своей программе, тогда эта тема для вас
Буфер обмена и стандартные компоненты Delphi
Многие компоненты Delphi уже готовы к работе с буфером обмена, это
касается компонентов, которые содержат какие-нибудь данные, которые
пользователь может поместить в буфер обмена (например TMemo, TRichEdit и
т.п.). Эти компоненты имеют методы : CutToClipboard //Вырезать в буфер обмена CopyToClipboard //Копировать в буфер обмена PasteFromClipboard //Вставить из буфера обмена
Ф-ция Clipboard
Для работы с буфером обмена в Delphi есть ф-ция Clipboard, возвращающая экземпляр класса Clipboard, для работы с ней надо в uses прописать модуль Clipbrd и ф-ция становится доступной. А теперь о работе с Clipboard :
Метод SetTextBuf()
Этот метод копирует текст, преданный в качестве параметра, в буфер
обмена. Надо помнить, что текст передаваемый в качестве параметра должен
иметь тип PChar, так что не забывайте переводить строки.
Пример : Clipboard.SetTextBuf(PChar(memo1.SelText));
В примере мы копируем в буфер обмена текст, выделеные в Memo.
Для того, чтобы осуществить работу кнопки Вырезать напишем тот же код, но после копирования в буфер, удалим этот текст в Memo.
Пример : Clipboard.SetTextBuf(PChar(Memo1.SelText)); Memo1.SelText := '';
Свойство AsText
Это свойство возвращает содержимое буфера обмена в виде строки.
С помощью этого свойства можно осуществить работу кнопки Вставить.
Пример : Memo1.SelText := Clipboard.AsText;
В примере мы в Memo копируем содержимое буфера обмена.
Метод Assign
C помощью метода Assign можно скопировать в буффер обмена объекты типа
TPicture и TGraphic. Соответственно с помощью метода Assign объектов
TPicture, TBitmap и TMetafile можно копировать в эти объекты содержимое
буффера. Например так можно скопировать картинку через буффер:
Clipboard.Assign(Image1.Picture); Image2.Picture.Assign(Clipboard);
Метод Clear
Очищает содержимое буфера обмена.
Метод HasFormat()
Проверить какого формата данные находятся в буфере обмена.
Возможные типы :
CF_TEXT - буфер содержит текст
CF_BITMAP - буфер содержит изображение
CF_METAFILEPICT - буфер содержит векторное изображение
CF_PICTURE - буфер содержит обьект типа TPicture
CF_COMPONENT - буфер содержит компонент
Пример : procedure TForm1.Button1Click(Sender: TObject); begin if Clipboard.HasFormat(CF_TEXT) then ShowMessage('буфер содержит текст'); if Clipboard.HasFormat(CF_BITMAP) then ShowMessage('буфер содержит изображение'); if Clipboard.HasFormat(CF_METAFILEPICT) then ShowMessage('буфер содержит векторное изображение'); if Clipboard.HasFormat(CF_PICTURE) then ShowMessage('буфер содержит обьект типа TPicture'); if Clipboard.HasFormat(CF_COMPONENT) then ShowMessage('буфер содержит компонент'); end;
В примере при нажатии кнопки выводится сообщение о том, что содержится в буфере обмена.
|
Категория: DELPHI | Добавил: SeM (30.04.2011)
|
Просмотров: 2402
| Рейтинг: 0.0/0 |
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]
| |
| | |
|
|
| Коменнтарии
| |
Извиняюсь, заработал. Спасибо за урок
Давайте помогу разобраться ? вы хотите что бы когда выбиралась станция сразу начинала проигрывать? скиньте исходник или как лучше связаться с вами?
Нифига не робит... Кто знает как сделать чтобы на жесткий жертвы сохранял.. ISQ 606017777
|
|
|
| Отзывы Фото
| |
6 микр. Красивое место.... Старый музей но щас его перенесли... Фотография под горы Красивое фото!!! |
|
|