![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сохранение буфера обмена.
pusrg © (2002-03-14 20:40:00)Господа программисты, не подскажете как можно сохранить буфер обмена в независимости от формата, сделать с ним определенные действия и восстановить его?
pusrg (2002-03-16 18:01:00) [1]To Digitmat, to MBo
Спасибо за Ваши отзывы!
MBo (2002-03-16 07:52:00) [2]Я делал сохранение/восстановление в/из файла, у digitman-а абсолютно все шаги расписаны.
digitman (2002-03-15 15:08:00) [3]выполнима, почему же нет ?)
1. вызовом EnumClipboardFormats() получаешь инф-цию обо всех форматах, доступных в БО. Запоминаешь их.
2. В цикле по всем полученным форматам получаешь их HGLOBAL-хэндлы вызовом GetClipboardData(). Получаешь размер блока глоб.хипа, распределенного под очеред.формат, выделяешь соотв. по размеру блок в лок.хипе своего процесса, блокируешь хэндл глоб.блока вызовом GlobalLock(), копируешь его содержимое любым способом в свой лок.блок, разблокируешь хэндл глоб.блока.
3. Очищаешь БО.
4. Пользуешься им как тебе вздумается.
5. В цикле по сохраненным форматам восстанавливаешь первонач.содержимое БО вызовами GlobalAlloc(), GlobalLock()/Unlock(), SetClipboarddata()
pusrg (2002-03-15 14:15:00) [4]Мужики, неужели никто не знает как временно сохранить данные из буфера?
Если это задача в принципе не выполнима, так и напишите...
pusrg (2002-03-14 21:26:00) [5]To Song
Про методы этого класса я знаю...
Но тогда не подскажете какой из них использовать для сохранения абсолютно любых данных?
Если использовать метод assign, то непонятно какого типа должен быть обьект - хранитель данных из буфера. Типы ТPersistent, TClipBoard не проходят.
Song (2002-03-14 21:13:00) [6]Класс TClipBoard
см. методы у него.