Re: Drag&Drop
От: AndrewJD США  
Дата: 21.03.05 11:46
Оценка: 3 (1)
Здравствуйте, adavydenko, Вы писали:

A>Привет всем.


A> Подскажите пожалуйста, как реализовать отображение картинки для D&D с помощью вызова метода InitializeFromWindow() интерфейса IDragSourceHelper. В МСДН-е написано что этот метод посылает окну сообщение DI_GETDRAGIMAGE.


Проверь, зарегистрировал ли ты DI_GETDRAGIMAGE сообщение.

A>Но у меня это сообщение не приходит и вызов InitializeFromWindow() возвращает E_FAIL.

Посмотри в spy++

A> Ранее, для формирования картинки я использовал метод InitializeFromBitmap, но обнаружил, что он работает только на системах Windows2000+SP3 и старше На системах с голой Win2k вплоть до 2-го сервиспака эта функция не работает.


Неверно. Эта функция работает в любой версии shell от W2K. Тут правда есть одна тонкость (которая нигде конечно не документирована). Если у тебя в настройках системы свойство Display Properties-> Effects -> Show window contents while dragging выключено, картинка отображаться не будет. (Поскольку картика D&D — это окно с прозрачностью)

A>В связи с этим я хочу перейти на InitializeFromWindow, судя по стандартному примеру DragImg она должна работать везде.

Нет смысла, поскольку все равно вызовится InitializeFromBitmap .
"For every complex problem, there is a solution that is simple, neat,
and wrong."
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.