Шаг 12.
Технология OLE. Интерфейс "Перетащить и опустить" источника

    На этом шаге мы рассмотрим интерфейс "Перетащить и опустить" источника.

    Интерфейс "Перетащить и опустить" источника управляется с помощью интерфейса IDropSource. В этом интерфейсе содержатся элементы, приведенные в листинге 1.

    Листинг 1. Интерфейс IDropSource

DECLARE_INTERFACE_ (IDropSource, IUnkown)
{
  // *** методы IUnknown ***
  HRESULT Querylnterface (THIS. REFIID riid, LPVOID FAR* ppvObj);
  ULONG AddRef (THIS);
  ULONG Release (THIS);
  // *** методы IDropSource ***
  HRESULT QueryContinueDrag (THIS_ BOOL fEscapePressed, DWORD grfKeyState);
  HRESULT GiveFeedBack (THIS_ DWORD dwEffect);
};

    В состав интерфейса входит пять функций, управляющих в источнике операциями "перетаскивания". В IDropSource существуют два метода - QueryContinueDrag() и GiveFeedBack().

    С помощью функции QueryContinueDrag() можно определить, следует ли продолжать операцию перетаскивания.

    Функция GiveFeedBack() используется для управления обратной связью с пользователем во время перетаскивания объекта. Обратная связь включает в себя два различных аспекта: может измениться форма указателя и внешний вид перемещаемых данных.

    На следующем шаге мы рассмотрим интерфейс "Перетащить и опустить" приемника.




Предыдущий шаг Содержание Следующий шаг