Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.24;
Скачать: [xml.tar.bz2];




Вниз

IDataObject 


avr555   (2002-01-08 16:44) [0]

Вопрос такой:
у меня в при перетаскивании передается IDataObject. Как мне из него вытащить указатель на объект.

Заранее благодарен.



Макс Черных   (2002-01-08 17:29) [1]

указатель на какой объект?
И вообще, что пишем то, drop source или drop target?



avr555   (2002-01-08 17:47) [2]

Извиняюсь, неправильно выразился.
У меня при OnDragDrop выполняется следующее:

DragDrop(Sender: TBaseVirtualTree; Source: TObject; DataObject: IDataObject; Formats: TFormatArray; Shift: TShiftState; Pt: TPoint; var Effect: Integer; Mode: TDropMode);

И мне нужно узнать что притащили.



Макс Черных   (2002-01-08 18:16) [3]

1. Что это за компонент с таким событием?

2. Drag&drop делается из того же приложения где компонент,
или из другого или и так и так?

В принципе же при работе через IDataObject никакого объекта
не передается. Через вызов IDataObject.EnumFormatEtc
можно получить интерфейс IEnumFORMATETC, который перечисляет
какие форматы данных (те же, что для Clipboard) поддерживаются
источником. Не исключено что в Formats: TFormatArray;
уже передается массив форматов, тут надо код компонента видеть.
Дальше вызывается IDataObject.GetData для получения данных
в нужном формате.
Например Word если в нем выделить кусок текста и перетащить
куда нибудь, поддерживает CF_TEXT, CF_METAFILEPICT и еще
кучу приватных форматов.







avr555   (2002-01-08 18:36) [4]

Понятно.
Будем копать...




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.24;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.031 c
3-75525           frostbite             2001-12-21 14:48  2002.01.24  
Определение структуры БД


14-75684          Dup                   2001-11-27 10:25  2002.01.24  
?


3-75510           Сидоров Юрий          2001-12-21 09:18  2002.01.24  
Проблемы с таблицами Paradox


3-75485           Dick Gonsales         2001-12-14 05:47  2002.01.24  
Хранение временных данных


14-75656          Lexus                 2001-11-28 17:31  2002.01.24  
Сохранение строк в текстовом файле и считывание их при последующем открытии программы?