Поделиться через


Класс CMFCTabDropTarget

Предоставляет механизм взаимодействия между элементом управления табуляции и библиотеками OLE.

Синтаксис

class CMFCTabDropTarget : public COleDropTarget

Участники

Открытые конструкторы

Имя Описание
CMFCTabDropTarget::CMFCTabDropTarget Конструктор по умолчанию.

Открытые методы

Имя Описание
CMFCTabDropTarget::OnDragEnter Вызывается платформой, когда пользователь перетаскивает объект в окно вкладки. (Переопределения COleDropTarget::OnDragEnter.)
CMFCTabDropTarget::OnDragLeave Вызывается платформой, когда пользователь перетаскивает объект за пределы окна вкладки с фокусом. (Переопределения COleDropTarget::OnDragLeave.)
CMFCTabDropTarget::OnDragOver Вызывается платформой, когда пользователь перетаскивает объект в окно вкладки с фокусом. (Переопределения COleDropTarget::OnDragOver.)
CMFCTabDropTarget::OnDropEx Вызывается платформой, когда пользователь освобождает кнопку мыши в конце операции перетаскивания. (Переопределения COleDropTarget::OnDropEx.)
CMFCTabDropTarget::Register Регистрирует элемент управления как целевой объект операции перетаскивания OLE.

Замечания

Этот класс обеспечивает поддержку перетаскивания для CMFCBaseTabCtrl класса. Если приложение инициализирует библиотеки OLE с помощью функции AfxOleInit , CMFCBaseTabCtrl объекты регистрируются для операций перетаскивания.

Класс CMFCTabDropTarget расширяет базовый класс, делая вкладку под курсором при активной операции перетаскивания. Дополнительные сведения об операциях перетаскивания см. в разделе "Перетаскивание OLE".

Пример

В этом примере демонстрируется создание объекта CMFCTabDropTarget и использование его метода Register.

HWND hWndTab = NULL;
CBasePane *basePane = new CBasePane();
CMFCBaseTabCtrl *pTabParent = basePane->GetParentTabWnd(hWndTab);
CMFCTabDropTarget *dropTarget = new CMFCTabDropTarget();
dropTarget->Register(pTabParent);

Иерархия наследования

CObject

CCmdTarget

COleDropTarget

CMFCTabDropTarget

Требования

Заголовок: afxbasetabctrl.h

CMFCTabDropTarget::OnDragEnter

Вызывается платформой, когда пользователь перетаскивает объект в окно вкладки.

virtual DROPEFFECT OnDragEnter(
    CWnd* pWnd,
    COleDataObject* pDataObject,
    DWORD dwKeyState,
    CPoint point);

Параметры

pWnd
[in] Неиспользованный.

pDataObject
[in] Указатель на объект, который перетаскивает пользователь.

dwKeyState
[in] Содержит состояние ключей модификатора. Это сочетание любого числа следующих элементов: MK_CONTROL, MK_SHIFT, MK_ALT, MK_LBUTTON, MK_MBUTTON и MK_RBUTTON.

point
[in] Расположение курсора в координатах клиента.

Возвращаемое значение

Эффект, который приводит к удалению в расположении, указанном в точке. Это может быть одно или несколько следующих элементов:

  • DROPEFFECT_NONE

  • DROPEFFECT_COPY

  • DROPEFFECT_MOVE

  • DROPEFFECT_LINK

  • DROPEFFECT_SCROLL

Замечания

Этот метод возвращает DROPEFFECT_NONE, если платформа инструментов не находится в режиме настройки или формат данных буфера обмена недоступен. В противном случае возвращается результат вызова CMFCBaseTabCtrl::OnDragEnter с указанными параметрами.

Дополнительные сведения о режиме настройки см. в разделе CMFCToolBar::IsCustomizeMode. Дополнительные сведения о форматах данных буфера обмена см. в разделе COleDataObject::IsDataAvailable.

CMFCTabDropTarget::OnDragLeave

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

virtual void OnDragLeave(CWnd* pWnd);

Параметры

pWnd
[in] Неиспользованный.

Замечания

Этот метод вызывает CMFCBaseTabCtrl::OnDragLeave метод для выполнения операции перетаскивания.

CMFCTabDropTarget::OnDragOver

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

virtual DROPEFFECT OnDragOver(
    CWnd* pWnd,
    COleDataObject* pDataObject,
    DWORD dwKeyState,
    CPoint point);

Параметры

pWnd
[in] Неиспользованный.

pDataObject
[in] Указатель на объект, который перетаскивает пользователь.

dwKeyState
[in] Содержит состояние ключей модификатора. Это сочетание любого числа следующих элементов: MK_CONTROL, MK_SHIFT, MK_ALT, MK_LBUTTON, MK_MBUTTON и MK_RBUTTON.

point
[in] Расположение указателя мыши в координатах клиента.

Возвращаемое значение

Эффект, который приводит к удалению в расположении, указанном в точке. Это может быть одно или несколько следующих элементов:

  • DROPEFFECT_NONE

  • DROPEFFECT_COPY

  • DROPEFFECT_MOVE

  • DROPEFFECT_LINK

  • DROPEFFECT_SCROLL

Замечания

Этот метод делает вкладку под курсором при активной операции перетаскивания. Он возвращает DROPEFFECT_NONE, если платформа инструментов не находится в режиме настройки или формат данных буфера обмена недоступен. В противном случае возвращается результат вызова CMFCBaseTabCtrl::OnDragOver с указанными параметрами.

Дополнительные сведения о режиме настройки см. в разделе CMFCToolBar::IsCustomizeMode. Дополнительные сведения о форматах данных буфера обмена см. в разделе COleDataObject::IsDataAvailable.

CMFCTabDropTarget::OnDropEx

Вызывается платформой, когда пользователь освобождает кнопку мыши в конце операции перетаскивания.

virtual DROPEFFECT OnDropEx(
    CWnd* pWnd,
    COleDataObject* pDataObject,
    DROPEFFECT dropEffect,
    DROPEFFECT dropList,
    CPoint point);

Параметры

pWnd
[in] Неиспользованный.

pDataObject
[in] Указатель на объект, который перетаскивает пользователь.

dropEffect
[in] Операция удаления по умолчанию.

dropList
[in] Неиспользованный.

point
[in] Расположение указателя мыши в координатах клиента.

Возвращаемое значение

Результирующий эффект удаления. Это может быть одно или несколько следующих элементов:

  • DROPEFFECT_NONE

  • DROPEFFECT_COPY

  • DROPEFFECT_MOVE

  • DROPEFFECT_LINK

  • DROPEFFECT_SCROLL

Замечания

Этот метод вызывает CMFCBaseTabCtrl::OnDrop , если платформа панели инструментов находится в режиме настройки, а формат данных буфера обмена доступен. Если вызов CMFCBaseTabCtrl::OnDrop возвращает ненулевое значение, этот метод возвращает эффект удаления по умолчанию, указанный в dropEffect. В противном случае этот метод возвращает DROPEFFECT_NONE. Дополнительные сведения о эффектах удаления см. в разделе COleDropTarget::OnDropEx.

Дополнительные сведения о режиме настройки см. в разделе CMFCToolBar::IsCustomizeMode. Дополнительные сведения о форматах данных буфера обмена см. в разделе COleDataObject::IsDataAvailable.

CMFCTabDropTarget::Register

Регистрирует элемент управления как целевой объект операции перетаскивания OLE.

BOOL Register(CMFCBaseTabCtrl *pOwner);

Параметры

pOwner
[in] Элемент управления tab для регистрации в качестве целевого объекта удаления.

Возвращаемое значение

Ненулевое значение, если регистрация выполнена успешно; в противном случае — 0.

Замечания

Этот метод вызывает COleDropTarget::Register для регистрации элемента управления для операций перетаскивания.

См. также

Диаграмма иерархии
Классы
Перетаскивание OLE