Форум: "Основная";
Поиск по всему сайту: 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.034 c
1-75542           Michael               2002-01-04 15:27  2002.01.24  
доступ к адресной книге Outlook Express


3-75502           Boo                   2001-12-17 10:26  2002.01.24  
Забавный глюк... (наверно у меня...)


1-75543           Dialogig              2002-01-05 16:38  2002.01.24  
Помогите !! Что -то я не пойму!


1-75603           Leviathan             2001-12-29 02:07  2002.01.24  
Активация программы


1-75627           Aspir                 2002-01-05 16:09  2002.01.24  
Использование DLL в delphi