Страница 1 из 1

Копировать картинку в ClipBoard ...

Добавлено: 25 Февраль 2012, 17:26
Игорь Столяров
Привет всем !

Простая задача. Eсть окно, в нем картинка (IMAGE). Нужно скопировать ее в буфер обмена Windows ...
Вроде бы тема поднималась, но решения в форуме не нашел.
Можно ли это сделать ? Желательно "малой кровью" (без использования дополнительных библиотек).
Заранее спасибо ...

Re: Копировать картинку в ClipBoard ...

Добавлено: 25 Февраль 2012, 18:26
gopstop2007
Как вариант на http://www.clarionfreeimage.com там в примерах ClipboardtoBlob и ClipboardToFile
и еще у Юры попросите у него вроде была простенькая библиотека по разборке Буфера обмена - cbclass.zip

Re: Копировать картинку в ClipBoard ...

Добавлено: 27 Февраль 2012, 12:24
kreator
Из Help'а о prop:ClipBits
Property of an IMAGE control that allows bitmap images to be moved into (but not out of) the Windows clipboard when set to one (1). Only .BMP, .PCX, or .GIF image types can be stored as a bitmap (.BMP) image in the Clipboard.

Example:

WinView WINDOW('View'),AT(0,0,320,200),MDI,MAX,HVSCROLL

IMAGE(),AT(0,0,,),USE(?Image)

BUTTON('Save Picture'),AT(80,180,60,20),USE(?SavePic)

BUTTON('New Picture'),AT(160,180,60,20),USE(?NewPic)

END



FileName STRING(64) !Filename variable



CODE

OPEN(WinView)

DISABLE(?LastPic)

IF NOT FILEDIALOG('Choose File to View',FileName,'BitMap|*.BMP|PCX|*.PCX',0)

RETURN !Return if no file chosen

END

?Image{PROP:Text} = FileName

ACCEPT

CASE ACCEPTED()

OF ?NewPic

IF NOT FILEDIALOG('Choose File to View',FileName,'BitMap|*.BMP|PCX|*.PCX',0)

BREAK !Return if no file chosen

END

?Image{PROP:Text} = FileName

OF ?SavePic

?Image{PROP:ClipBits} = 1 !Put image into Clipboard

ENABLE(?LastPic) ! activate Last Picture button

END

END

Re: Копировать картинку в ClipBoard ...

Добавлено: 28 Февраль 2012, 22:18
Игорь Столяров
Спасибо ! Все работает. Как говорится: век живи - век учись. :)
Не все форматы файлов копируются, но это уже совсем другая история ...