Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Библиотека классов Microsoft Foundation (MFC) продолжает поддерживаться. Однако мы больше не добавляем функции или обновляем документацию.
Помимо предоставления функциональных возможностей поля списка 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