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
)。
如需將控制項指派給成員變數的詳細資訊,請參閱 定義對話方塊控制項 之成員變數的快捷方式。
繼承階層架構
CDragListBox
需求
標頭: afxcmn.h
CDragListBox::BeginDrag
架構會在可能發生可能開始拖曳作業的事件時呼叫,例如按下滑鼠左鍵。
virtual BOOL BeginDrag(CPoint pt);
參數
傳回值
如果允許拖曳,則為非零,否則為 0。
備註
如果您想要控制拖曳作業開始時會發生什麼情況,請覆寫此函式。 預設實作會擷取滑鼠並停留在拖曳模式中,直到使用者按一下左右滑鼠按鍵,或按下 ESC 鍵,此時拖曳作業就會取消。
CDragListBox::CancelDrag
當拖曳作業取消時,由架構呼叫。
virtual void CancelDrag(CPoint pt);
參數
備註
覆寫此函式以處理清單方塊控制項的任何特殊處理。
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;
參數
bAutoScroll
如果允許捲動,則為非零,否則為 0。
傳回值
拖曳清單方塊專案的以零起始的索引。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應