Sdílet prostřednictvím


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

Jméno popis
CDragListBox::CDragListBox CDragListBox Vytvoří objekt.

Veřejné metody

Jméno 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 CDragListBoxpromě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

Objekt CObject

CCmdTarget

Cwnd

CListBox

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.

Vrácená 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.

Vrácená 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.

Vrácená hodnota

Index seznamu se seznamem přetažení je nulový.

Viz také

MFC – ukázka TSTCON
CListBox – třída
Graf hierarchie
CListBox – třída