RichEdit & Drag-n-Drop
От: hoodoo  
Дата: 22.01.02 16:29
Оценка:
Беда с dnd в ричэдите...

Нужно дропать в ричэдит файлы из самых разных источников. Для этого до сих пор использовался IRichEditOleCallback. Проблема в том, что IRichEditOleCallback::QueryAcceptData не вызывается ричэдитом, если он read-only.

1. Есть ли какой-нибудь хитрый способ заставить ричэдит всегда вызвать колбэк? А если нет, то

2. Нет ли какого-нибудь (возможно, не менее хитрого:) способа получить IDropTarget, зарегистрированный для конкретного hwnd? (Чтобы кастомизировать ричэдитовый IDropTarget.)
WBR,
hoodoo
Re: RichEdit & Drag-n-Drop
От: OlegO Россия http://www.mediachase.ru
Дата: 23.01.02 07:41
Оценка:
Здравствуйте hoodoo, Вы писали:

H>Беда с dnd в ричэдите...


H>Нужно дропать в ричэдит файлы из самых разных источников. Для этого до сих пор использовался IRichEditOleCallback. Проблема в том, что IRichEditOleCallback::QueryAcceptData не вызывается ричэдитом, если он read-only.


H>1. Есть ли какой-нибудь хитрый способ заставить ричэдит всегда вызвать колбэк? А если нет, то


H>2. Нет ли какого-нибудь (возможно, не менее хитрого способа получить IDropTarget, зарегистрированный для конкретного hwnd? (Чтобы кастомизировать ричэдитовый IDropTarget.)


Попробуй так реализуй интерфейс IDropTarger (сделай просто класс, c методами интерфейса)
и зарегестрировать его для окна используя RegisterDragDrop
С уважением, OlegO.
Re[2]: RichEdit & Drag-n-Drop
От: hoodoo  
Дата: 23.01.02 16:01
Оценка:
Здравствуйте OlegO, Вы писали:

OO>Попробуй так реализуй интерфейс IDropTarger (сделай просто класс, c методами интерфейса)

OO> и зарегестрировать его для окна используя RegisterDragDrop

Чтобы зарегистрировать свой IDropTarget, надо сначала убить уже зарегистрированный, то бишь ричэдитовый. "Родной" DnD при этом перестанет работать, а эмулировать его в своем IDropTarget, имхо, тот еще геморрой...
WBR,
hoodoo
Re[3]: RichEdit & Drag-n-Drop
От: OlegO Россия http://www.mediachase.ru
Дата: 24.01.02 07:22
Оценка:
Здравствуйте hoodoo, Вы писали:

H>Чтобы зарегистрировать свой IDropTarget, надо сначала убить уже зарегистрированный, то бишь ричэдитовый. "Родной" DnD при этом перестанет работать, а эмулировать его в своем IDropTarget, имхо, тот еще геморрой...


какой геморрой... :???:
по-моему, все наооборот ясно, конкретное число случаев, только бери и делай.

Хотя если чесно, то немного не логично, получать данные если RichEdit read-only, может проще
самому эмулировать read-only.
С уважением, OlegO.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.