![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Save Clipboard [D7, Win95/98, WinXP]
Jay1982 © (2005-02-11 12:23:00)Использую свой программой буфер обмена, но при этом не хотелось бы его затирать. Куда его лучше временно сохранить, и если не сложно в кратце как его туда сохранить, а потом от туда восстановить?
Jay1982 (2005-02-11 14:39:00) [1]VMcL © (11.02.05 14:02) [5]
Делаю так:
var
h: HWND;
p: Pointer;
h := Clipboard.GetAsHandle(CF_...);
p := GlobalLock(h);
p получается = nil, хотя если ставить p: PChar, и в буфере текст, то нормально работает. Почему же нельзя так сделать с поитер?
VMcL (2005-02-11 14:02:00) [2]>> Jay1982 © (11.02.05 13:17) [3]
> где полученные данные лучше хранить, ведь они могуд быть и рисунком, и текстом...
В динамическом массиве байт, например.
MBo (2005-02-11 13:59:00) [3]> где полученные данные лучше хранить
В файле, если сохранять надолго.
> ведь они могуд быть и рисунком, и текстом...
перед каждым куском данных ClipBoardFormat записывать
Jay1982 (2005-02-11 13:17:00) [4]Vit@ly © (11.02.05 12:47) [2]
Я сохраняю данных скопированные с контрола чужой программы, т.е. через клипбоард
MBo © (11.02.05 12:39) [1]
А где полученные данные лучше хранить, ведь они могуд быть и рисунком, и текстом...
Vit@ly (2005-02-11 12:47:00) [5]Странно. Вроде буфер обмена для того и существует чтобы его затирать. Почему бы сразу не "туда сохранить временно" куда необходимо.
MBo (2005-02-11 12:39:00) [6]OpenClipBoard
EnumClipboardFormats
GetClipboardData/ SetClipboardData
GlobalLock/GlobalUnlock