Klasa CDragListBox
Oprócz zapewnienia funkcjonalności pola CDragListBox
listy systemu Windows klasa umożliwia użytkownikowi przenoszenie elementów pól listy, takich jak nazwy plików, w polu listy.
Składnia
class CDragListBox : public CListBox
Elementy członkowskie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
CDragListBox::CDragListBox | CDragListBox Tworzy obiekt. |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CDragListBox::BeginDrag | Wywoływana przez platformę podczas uruchamiania operacji przeciągania. |
CDragListBox::CancelDrag | Wywoływana przez platformę, gdy operacja przeciągania została anulowana. |
CDragListBox::D ragging | Wywoływana przez platformę podczas operacji przeciągania. |
CDragListBox::D rawInsert | Rysuje prowadnicę wstawiania pola listy przeciągania. |
CDragListBox::D ropped | Wywoływana przez strukturę po upuszczonym elemencie. |
CDragListBox::ItemFromPt | Zwraca współrzędne przeciągniętego elementu. |
Uwagi
Pola listy z tą funkcją umożliwiają użytkownikom porządkowenie elementów na liście w dowolny sposób, co jest dla nich najbardziej przydatne. Domyślnie pole listy spowoduje przeniesienie elementu do nowej lokalizacji na liście. Można jednak dostosować obiekty do CDragListBox
kopiowania elementów zamiast ich przenoszenia.
Kontrolka pola listy skojarzona z klasą CDragListBox
nie może mieć LBS_SORT ani stylu LBS_MULTIPLESELECT. Opis stylów pól listy znajduje się w temacie List-Box Styles (Style pól listy).
Aby użyć przeciągania listy w istniejącym oknie dialogowym aplikacji, dodaj kontrolkę pola listy do szablonu okna dialogowego przy użyciu edytora okien dialogowych, a następnie przypisz zmienną składową (kategoria Control
i typ CDragListBox
zmiennej) odpowiadającą kontrolce pola listy w szablonie okna dialogowego.
Aby uzyskać więcej informacji na temat przypisywania kontrolek do zmiennych składowych, zobacz Skrót do definiowania zmiennych składowych dla kontrolek okien dialogowych.
Hierarchia dziedziczenia
CDragListBox
Wymagania
Nagłówek: afxcmn.h
CDragListBox::BeginDrag
Wywoływana przez platformę, gdy wystąpi zdarzenie, które może rozpocząć operację przeciągania, na przykład naciśnięcie lewego przycisku myszy.
virtual BOOL BeginDrag(CPoint pt);
Parametry
Pt
Obiekt CPoint zawierający współrzędne przeciągniętego elementu.
Wartość zwracana
Bezzerowe, jeśli przeciąganie jest dozwolone, w przeciwnym razie 0.
Uwagi
Zastąpi tę funkcję, jeśli chcesz kontrolować, co się stanie po rozpoczęciu operacji przeciągania. Domyślna implementacja przechwytuje mysz i pozostaje w trybie przeciągania, aż użytkownik kliknie lewy lub prawy przycisk myszy lub naciśnie ESC, w którym czasie operacja przeciągania zostanie anulowana.
CDragListBox::CancelDrag
Wywoływana przez platformę, gdy operacja przeciągania została anulowana.
virtual void CancelDrag(CPoint pt);
Parametry
Pt
Obiekt CPoint zawierający współrzędne przeciągniętego elementu.
Uwagi
Zastąpi tę funkcję, aby obsłużyć dowolne specjalne przetwarzanie kontrolki pola listy.
CDragListBox::CDragListBox
CDragListBox
Tworzy obiekt.
CDragListBox();
CDragListBox::D ragging
Wywoływana przez platformę, gdy element pola listy jest przeciągany w CDragListBox
obiekcie.
virtual UINT Dragging(CPoint pt);
Parametry
Pt
Obiekt CPoint zawierający współrzędne ekranu x i y kursora.
Wartość zwracana
Identyfikator zasobu kursora do wyświetlenia. Możliwe są następujące wartości:
DL_COPYCURSOR Wskazuje, że element zostanie skopiowany.
DL_MOVECURSOR Wskazuje, że element zostanie przeniesiony.
DL_STOPCURSOR Wskazuje, że bieżący cel upuszczania nie jest akceptowalny.
Uwagi
Domyślne zachowanie zwraca DL_MOVECURSOR. Zastąpi tę funkcję, jeśli chcesz udostępnić dodatkowe funkcje.
CDragListBox::D rawInsert
Wywołana przez strukturę w celu narysowania przewodnika wstawiania przed elementem ze wskazanym indeksem.
virtual void DrawInsert(int nItem);
Parametry
nItem
Indeks zerowy punktu wstawiania.
Uwagi
Wartość — 1 czyści przewodnik wstawiania. Zastąpij tę funkcję, aby zmodyfikować wygląd lub zachowanie przewodnika wstawiania.
CDragListBox::D ropped
Wywoływana przez strukturę, gdy element jest porzucany w CDragListBox
obiekcie.
virtual void Dropped(
int nSrcIndex,
CPoint pt);
Parametry
nSrcIndex
Określa indeks zerowy porzuconego ciągu.
Pt
Obiekt CPoint zawierający współrzędne lokacji upuszczania.
Uwagi
Domyślne zachowanie kopiuje element pola listy i jego dane do nowej lokalizacji, a następnie usuwa oryginalny element. Zastąpij tę funkcję, aby dostosować zachowanie domyślne, takie jak włączenie przeciągania kopii elementów pola listy do innych lokalizacji na liście.
CDragListBox::ItemFromPt
Wywołaj tę funkcję, aby pobrać indeks na podstawie zera elementu pola listy znajdujący się w pkt.
int ItemFromPt(
CPoint pt,
BOOL bAutoScroll = TRUE) const;
Parametry
Pt
Obiekt CPoint zawierający współrzędne punktu w polu listy.
bAutoScroll
Niezerowe, jeśli przewijanie jest dozwolone, w przeciwnym razie 0.
Wartość zwracana
Indeks zerowy elementu pola listy przeciągania.
Zobacz też
Przykład MFC — TSTCON
Klasa CListBox
Wykres hierarchii
Klasa CListBox