Класс 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
переменной), соответствующую элементу управления "Список" в шаблоне диалогового окна.
Дополнительные сведения о назначении элементов управления переменным-членам см. в разделе "Ярлык" для определения переменных-членов для элементов управления диалоговым окном.
Иерархия наследования
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