共用方式為


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 )。

如需將控制項指派給成員變數的詳細資訊,請參閱 定義對話方塊控制項 之成員變數的快捷方式。

繼承階層架構

CObject

CCmdTarget

CWnd

CListBox

CDragListBox

需求

標頭: afxcmn.h

CDragListBox::BeginDrag

架構會在可能發生可能開始拖曳作業的事件時呼叫,例如按下滑鼠左鍵。

virtual BOOL BeginDrag(CPoint pt);

參數

pt
CPoint 物件,其中包含要拖曳之專案的座標。

傳回值

如果允許拖曳,則為非零,否則為 0。

備註

如果您想要控制拖曳作業開始時會發生什麼情況,請覆寫此函式。 預設實作會擷取滑鼠並停留在拖曳模式中,直到使用者按一下左右滑鼠按鍵,或按下 ESC 鍵,此時拖曳作業就會取消。

CDragListBox::CancelDrag

當拖曳作業取消時,由架構呼叫。

virtual void CancelDrag(CPoint pt);

參數

pt
CPoint 物件,其中包含要拖曳之專案的座標。

備註

覆寫此函式以處理清單方塊控制項的任何特殊處理。

CDragListBox::CDragListBox

建構 CDragListBox 物件。

CDragListBox();

CDragListBox::D ragging

在物件內 CDragListBox 拖曳清單方塊專案時,由架構呼叫。

virtual UINT Dragging(CPoint pt);

參數

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
指定已卸載字串的以零起始的索引。

pt
包含置放月臺座標的 CPoint 物件。

備註

預設行為會將清單方塊專案及其資料複製到新位置,然後刪除原始專案。 覆寫此函式以自訂預設行為,例如將清單方塊專案複本拖曳至清單中的其他位置。

CDragListBox::ItemFromPt

呼叫此函式,以擷取位於 pt 之清單方塊專案的以零起始的索引。

int ItemFromPt(
    CPoint pt,
    BOOL bAutoScroll = TRUE) const;

參數

pt
CPoint 物件,包含清單方塊中某個點的座標。

bAutoScroll
如果允許捲動,則為非零,否則為 0。

傳回值

拖曳清單方塊專案的以零起始的索引。

另請參閱

MFC 範例 TSTCON
CListBox 類別
階層架構圖表
CListBox 類別