Вниз
Скачать: CL | DM;

Буфер обмена   Найти похожие ветки 

← →
cult ©   (2003-04-23 12:12) [0]

Злые языки утверждают, что в ClipBoard может одновременно храниться несколько объектов разных форматов, то есть одновременно и компонент, и текст, и что-то по хэндлу. А у меня так не получается! Если я делаю, например, SetAsHandle, то то, что я клал как SetComponent или SetTextBuf, пропадает. И наоборот. То есть, получается, только один объект может лежать, просто разные методы запихивания? Просветите, плз.


← →
evvcom ©   (2003-04-23 12:15) [1]

Имеется такая штука в новом Office XP, но по-моему это чисто их прибамбас (офисный), а в ОС это не реализовано.


← →
Palladin ©   (2003-04-23 12:17) [2]


> cult © (23.04.03 12:12)


> evvcom © (23.04.03 12:15)

злые языки иногда правду говорят...
поизучайте справку на эту тему...
по крайней мере на NT ядре, это так и есть


← →
Palladin ©   (2003-04-23 12:26) [3]

хотя я немного не прав...

в clipboard данные могут хранится одновременно в нескольких форматах и поэтому поводу такую фенечку как в OfficeXP можно организовать самому.


← →
REA ©   (2003-04-23 12:26) [4]

могут быть разные форматы, воистину, начиная с Windows 3.11 или еще раньше.


← →
MBo ©   (2003-04-23 12:27) [5]

OpenClipBoard
...
SetClipboardData
SetClipboardData
SetClipboardData
...
CloseClipBoard


← →
evvcom ©   (2003-04-23 12:30) [6]

Ну что ж, может быть. Справку на эту тему не изучал, но может быть в оправдание возникают такие вопросы/предположения.
1. Тогда скорее это не на ядре NT, а на ядре Win2k/WinXP или даже только WinXP, хотя они и написаны на ядре NT. В NT4 о таком не было ничего слышно, и узнал я об этом только в Office XP, который и на NT4 замечательно работает.
2. Не пробовал, но думаю, что Office XP будет поддерживать эту возможность и в MustDie, что докажет, что это встроено в новый Office. А то бы, если это было встроено в те древние ОС, этим не воспользовались бы ранее?


← →
cult ©   (2003-04-23 12:31) [7]

так а как этого добиться? если пользовать дельфовый ClipBoard, то копирование, например, компонента, делает недоступной, например, только что скопированную картинку.

То есть:

ClipBoard.SetAsHandle(AFormat,APictureHandle,APalette)
после этой строчки картинку можно вставлять, напр., в msPaint.


ClipBoard.SetComponent(AComponent)
а после этой - картинку уже нельзя никуда вставить, доступен только компонент.

И чё делать? :)



← →
MBo ©   (2003-04-23 12:35) [8]

>cult
видел логику 12:27?
А теперь посмотри, как SetAsHandle работает - закрывает буфер.


← →
cult ©   (2003-04-23 12:38) [9]

>MBo
ага, посмотрел уже, натурально, каждая функция закрывает буфер.
буду разбираться, спасибо


← →
Palladin ©   (2003-04-23 12:39) [10]


> evvcom © (23.04.03 12:30)

1 нет, оказывается на всех мастдаях, см. справку
2 этим и ранее пользовалсь... не замечал что если в экселе скопировать в буфер некий range, то он и в блокнот вставится...
только разделенный #9 и #13#10

на самом деле если ковырнуть TClipBoard то можно увидеть многие интересные весчи которые вставляет в буффер офис.
при копировании текста из ворда в буфере присутствует 11 (!)форматов


← →
evvcom ©   (2003-04-23 12:44) [11]

> Palladin
Ну да ладно. Пусть будет так. Не было пока нужды ковырять clipboard. Ну хоть общих познаний от обсуждения добавилось.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.011 c
9-12597
Карлсон
2002-08-25 00:53
2003.05.05
Че за глюки такие?


1-12735
Nikos
2003-04-22 19:11
2003.05.05
Как восстановить текст, который был в поле Memo?


1-12734
Cooper
2003-04-23 21:57
2003.05.05
Координаты указателя мыши в пределах Image


1-12785
sagchat
2003-04-21 17:39
2003.05.05
Шифрование текстовых файлов


14-12935
Dim!S
2003-04-18 05:37
2003.05.05
Плагины для Totalcmd




   Наверх