CDragListBox – třída
Kromě poskytování funkcí seznamu CDragListBox
Systému Windows třída umožňuje uživateli přesouvat položky seznamu, jako jsou názvy souborů, v seznamu.
Syntaxe
class CDragListBox : public CListBox
Členové
Veřejné konstruktory
Název | Popis |
---|---|
CDragListBox::CDragListBox | CDragListBox Vytvoří objekt. |
Veřejné metody
Název | Popis |
---|---|
CDragListBox::BeginDrag | Volá se rozhraním při spuštění operace přetažení. |
CDragListBox::CancelDrag | Volá se rozhraním, když byla operace přetažení zrušena. |
CDragListBox::D ragging | Volá se rozhraním během operace přetažení. |
CDragListBox::D rawInsert | Nakreslí vodítko pro vložení pole se seznamem přetažení. |
CDragListBox::D | Volá se rozhraním po vyřazení položky. |
CDragListBox::ItemFromPt | Vrátí souřadnice přetahované položky. |
Poznámky
Seznamy s touto funkcí umožňují uživatelům uspořádat položky v seznamu jakýmkoli způsobem, který je pro ně nejužitečnější. Ve výchozím nastavení se položka přesune do nového umístění v seznamu. Objekty je ale možné přizpůsobit tak, CDragListBox
aby místo jejich přesouvání zkopírovaly položky.
Ovládací prvek seznam přidružený ke CDragListBox
třídě nesmí mít LBS_SORT ani styl LBS_MULTIPLESELECT. Popis stylů seznamů naleznete v tématu Styly seznamu.
Chcete-li použít seznam přetažení v existujícím dialogovém okně aplikace, přidejte ovládací prvek seznamu do šablony dialogového okna pomocí editoru dialogového okna a potom přiřaďte členovou proměnnou (kategorie Control
a typ CDragListBox
proměnné) odpovídající ovládacímu prvku seznamu v šabloně dialogového okna.
Další informace o přiřazování ovládacích prvků k členským proměnným naleznete v tématu Zástupce pro definování členských proměnných pro ovládací prvky dialogového okna.
Hierarchie dědičnosti
CDragListBox
Požadavky
Hlavička: afxcmn.h
CDragListBox::BeginDrag
Volá se rozhraním, když dojde k události, která by mohla zahájit operaci přetažení, například stisknutí levého tlačítka myši.
virtual BOOL BeginDrag(CPoint pt);
Parametry
Pt
Objekt CPoint , který obsahuje souřadnice přetahované položky.
Návratová hodnota
Nenulové, pokud je povoleno přetahování, jinak 0.
Poznámky
Tuto funkci přepište, pokud chcete určit, co se stane, když začne operace přetažení. Výchozí implementace zachytí myš a zůstane v režimu přetažení, dokud uživatel neklikne na levé nebo pravé tlačítko myši nebo stiskne klávesu ESC, při které je operace přetažení zrušena.
CDragListBox::CancelDrag
Volá se rozhraním, když byla operace přetažení zrušena.
virtual void CancelDrag(CPoint pt);
Parametry
Pt
Objekt CPoint , který obsahuje souřadnice přetahované položky.
Poznámky
Přepište tuto funkci tak, aby zpracovávala jakékoli speciální zpracování ovládacího prvku seznam.
CDragListBox::CDragListBox
CDragListBox
Vytvoří objekt.
CDragListBox();
CDragListBox::D ragging
Volána rozhraním při přetažení položky seznamu v rámci objektu CDragListBox
.
virtual UINT Dragging(CPoint pt);
Parametry
Pt
Objekt CPoint, který obsahuje souřadnice x a y obrazovky kurzoru.
Návratová hodnota
ID prostředku kurzoru, které se má zobrazit. Možné jsou následující hodnoty:
DL_COPYCURSOR Označuje, že se položka zkopíruje.
DL_MOVECURSOR Označuje, že se položka přesune.
DL_STOPCURSOR Označuje, že aktuální cíl přetažení není přijatelný.
Poznámky
Výchozí chování vrací DL_MOVECURSOR. Tuto funkci přepište, pokud chcete poskytnout další funkce.
CDragListBox::D rawInsert
Volá se rozhraním pro vykreslení vodítka vložení před položku s označeným indexem.
virtual void DrawInsert(int nItem);
Parametry
nItem
Index kurzoru založený na nule
Poznámky
Hodnota - 1 vymaže vodítko vložení. Přepište tuto funkci tak, aby upravte vzhled nebo chování vodítka vložení.
CDragListBox::D
Volá se rozhraním při vyřazení položky v rámci objektu CDragListBox
.
virtual void Dropped(
int nSrcIndex,
CPoint pt);
Parametry
nSrcIndex
Určuje index založený na nule vynechaného řetězce.
Pt
CPoint objekt, který obsahuje souřadnice drop webu.
Poznámky
Výchozí chování zkopíruje položku seznamu a její data do nového umístění a odstraní původní položku. Přepsat tuto funkci tak, aby přizpůsobila výchozí chování, například povolení kopírování položek seznamu, které mají být přetaženy do jiných umístění v seznamu.
CDragListBox::ItemFromPt
Voláním této funkce načte index založený na nule položky seznamu umístěného v bodech.
int ItemFromPt(
CPoint pt,
BOOL bAutoScroll = TRUE) const;
Parametry
Pt
Objekt CPoint obsahující souřadnice bodu v seznamu.
bAutoScroll
Nenulové, pokud je povoleno posouvání, jinak 0.
Návratová hodnota
Index seznamu se seznamem přetažení je nulový.
Viz také
MFC – ukázka TSTCON
CListBox – třída
Graf hierarchie
CListBox – třída