Класс CDragListBox

Помимо предоставления функциональных возможностей поля списка Windows, CDragListBox класс позволяет пользователю перемещать элементы списка, такие как имена файлов, в поле списка.

Синтаксис

class CDragListBox : public CListBox

Участники

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

Имя Описание
CDragListBox::CDragListBox Формирует объект CDragListBox.

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

Имя Описание
CDragListBox::BeginDrag Вызывается платформой при запуске операции перетаскивания.
CDragListBox::CancelDrag Вызывается платформой при отмене операции перетаскивания.
CDragListBox::D ragging Вызывается платформой во время операции перетаскивания.
CDragListBox::D rawInsert Рисует руководство по вставке поля списка перетаскивания.
CDragListBox::D ropped Вызывается платформой после удаления элемента.
CDragListBox::ItemFromPt Возвращает координаты перетаскиваемого элемента.

Замечания

Списки с этой возможностью позволяют пользователям упорядочивать элементы в списке любым способом, наиболее полезным для них. По умолчанию поле списка перемещает элемент в новое расположение в списке. CDragListBox Однако объекты можно настроить для копирования элементов вместо их перемещения.

Элемент управления списка, связанный с CDragListBox классом, не должен иметь LBS_SORT или стиль LBS_MULTIPLESELECT. Описание стилей списков см. в разделе "Стили списка".

Чтобы использовать поле списка перетаскивания в существующем диалоговом окне приложения, добавьте элемент управления списком в шаблон диалогового окна с помощью редактора диалогов, а затем назначьте переменную члена (категории Control и типа CDragListBoxпеременной), соответствующую элементу управления "Список" в шаблоне диалогового окна.

Дополнительные сведения о назначении элементов управления переменным-членам см. в разделе "Ярлык" для определения переменных-членов для элементов управления диалоговым окном.

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

CObject

CCmdTarget

CWnd

CListBox

CDragListBox

Требования

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

CDragListBox::BeginDrag

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

virtual BOOL BeginDrag(CPoint pt);

Параметры

пт
Объект CPoint, содержащий координаты перетаскиваемого элемента.

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

Ненулевое значение, если разрешено перетаскивание, в противном случае — значение 0.

Замечания

Переопределите эту функцию, если вы хотите управлять тем, что происходит при запуске операции перетаскивания. Реализация по умолчанию фиксирует мышь и остается в режиме перетаскивания, пока пользователь не нажимает левую или правую кнопку мыши или нажимает ESC, в то время как операция перетаскивания отменяется.

CDragListBox::CancelDrag

Вызывается платформой при отмене операции перетаскивания.

virtual void CancelDrag(CPoint pt);

Параметры

пт
Объект CPoint, содержащий координаты перетаскиваемого элемента.

Замечания

Переопределите эту функцию, чтобы обрабатывать любую специальную обработку для элемента управления списком.

CDragListBox::CDragListBox

Формирует объект CDragListBox.

CDragListBox();

CDragListBox::D ragging

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

virtual UINT Dragging(CPoint pt);

Параметры

пт
Объект CPoint, содержащий координаты экрана x и y курсора.

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

Идентификатор ресурса отображаемого курсора. Возможны следующие значения:

  • DL_COPYCURSOR Указывает, что элемент будет скопирован.

  • DL_MOVECURSOR Указывает, что элемент будет перемещен.

  • DL_STOPCURSOR Указывает, что текущий целевой объект удаления недопустим.

Замечания

Поведение по умолчанию возвращает DL_MOVECURSOR. Переопределите эту функцию, если вы хотите предоставить дополнительные функциональные возможности.

CDragListBox::D rawInsert

Вызывается платформой для рисования руководства по вставке перед элементом с указанным индексом.

virtual void DrawInsert(int nItem);

Параметры

nItem
Отсчитываемый от нуля индекс точки вставки.

Замечания

Значение - 1 очищает руководство по вставке. Переопределите эту функцию, чтобы изменить внешний вид или поведение руководства по вставке.

CDragListBox::D ropped

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

virtual void Dropped(
    int nSrcIndex,
    CPoint pt);

Параметры

nSrcIndex
Задает отсчитываемый от нуля индекс удаленной строки.

пт
Объект CPoint, содержащий координаты сайта удаления.

Замечания

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

CDragListBox::ItemFromPt

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

int ItemFromPt(
    CPoint pt,
    BOOL bAutoScroll = TRUE) const;

Параметры

пт
Объект CPoint , содержащий координаты точки в списке.

bAutoScroll
Ненулевое значение, если прокрутка разрешена, в противном случае — значение 0.

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

Отсчитываемый от нуля индекс элемента списка перетаскивания.

См. также

Пример TSTCON MFC
Класс CListBox
Диаграмма иерархии
Класс CListBox