CDragListBox Sınıfı
Sınıfı, Windows liste kutusunun işlevselliğini sağlamanın yanı sıra, CDragListBox
kullanıcının liste kutusu içinde dosya adları gibi liste kutusu öğelerini taşımasına da olanak tanır.
class CDragListBox : public CListBox
Veri Akışı Adı | Açıklama |
---|---|
CDragListBox::CDragListBox | Bir CDragListBox nesne oluşturur. |
Veri Akışı Adı | Açıklama |
---|---|
CDragListBox::BeginDrag | Sürükleme işlemi başladığında çerçeve tarafından çağrılır. |
CDragListBox::Canceldrag | Bir sürükleme işlemi iptal edildiğinde çerçeve tarafından çağrılır. |
CDragListBox::D ragging | Bir sürükleme işlemi sırasında çerçeve tarafından çağrılır. |
CDragListBox::D rawInsert | Sürükleme listesi kutusunun ekleme kılavuzunu çizer. |
CDragListBox::D ropped | Öğe bırakıldıktan sonra çerçeve tarafından çağrılır. |
CDragListBox::ItemFromPt | Sürüklenen öğenin koordinatlarını döndürür. |
Bu özelliğe sahip liste kutuları, kullanıcıların listedeki öğeleri kendileri için en yararlı olacak şekilde sıralamasını sağlar. Varsayılan olarak, liste kutusu öğeyi listedeki yeni konuma taşır. Ancak, CDragListBox
nesneler öğeleri taşımak yerine kopyalamak için özelleştirilebilir.
Sınıfla ilişkilendirilmiş liste kutusu denetiminin CDragListBox
LBS_SORT veya LBS_MULTIPLESELECT stili olmamalıdır. Liste kutusu stillerinin açıklaması için bkz . Liste Kutusu Stilleri.
Uygulamanızın var olan bir iletişim kutusunda sürükleme listesi kutusu kullanmak için, iletişim kutusu düzenleyicisini kullanarak iletişim kutusu şablonunuza bir liste kutusu denetimi ekleyin ve ardından iletişim kutusu şablonunuzdaki liste kutusu denetimine karşılık gelen bir üye değişkeni (Kategori Control
ve Değişken Türü CDragListBox
) atayın.
Üye değişkenlerine denetim atama hakkında daha fazla bilgi için bkz . İletişim Kutusu Denetimleri için Üye Değişkenlerini Tanımlama Kısayolu.
CDragListBox
Üst bilgi: afxcmn.h
Sol fare düğmesine basmak gibi bir sürükleme işlemi başlatabilecek bir olay oluştuğunda çerçeve tarafından çağrılır.
virtual BOOL BeginDrag(CPoint pt);
Pt
Sürüklenen öğenin koordinatlarını içeren bir CPoint nesnesi.
Sürüklemeye izin veriliyorsa sıfır olmayan, aksi takdirde 0.
Sürükleme işlemi başladığında ne olacağını denetlemek istiyorsanız bu işlevi geçersiz kılın. Varsayılan uygulama fareyi yakalar ve kullanıcı sol veya sağ fare düğmesine tıklayana veya ESC tuşuna basana kadar sürükleme modunda kalır ve bu sırada sürükleme işlemi iptal edilir.
Bir sürükleme işlemi iptal edildiğinde çerçeve tarafından çağrılır.
virtual void CancelDrag(CPoint pt);
Pt
Sürüklenen öğenin koordinatlarını içeren bir CPoint nesnesi.
Liste kutusu denetiminize yönelik özel işlemleri işlemek için bu işlevi geçersiz kılın.
Bir CDragListBox
nesne oluşturur.
CDragListBox();
Nesne içinde bir liste kutusu öğesi sürüklenirken çerçeve tarafından çağrılır CDragListBox
.
virtual UINT Dragging(CPoint pt);
Pt
İmlecin x ve y ekran koordinatlarını içeren bir CPoint nesnesi.
Görüntülenecek imlecin kaynak kimliği. Aşağıdaki değerler mümkündür:
DL_COPYCURSOR Öğenin kopyalandığını gösterir.
DL_MOVECURSOR Öğenin taşınacağını gösterir.
DL_STOPCURSOR Geçerli bırakma hedefinin kabul edilebilir olmadığını gösterir.
Varsayılan davranış DL_MOVECURSOR döndürür. Ek işlevsellik sağlamak istiyorsanız bu işlevi geçersiz kılın.
Belirtilen dizine sahip öğenin önüne ekleme kılavuzunu çizmek için çerçeve tarafından çağrılır.
virtual void DrawInsert(int nItem);
nItem
Ekleme noktasının sıfır tabanlı dizini.
- 1 değeri ekleme kılavuzunu temizler. Ekleme kılavuzunun görünümünü veya davranışını değiştirmek için bu işlevi geçersiz kılın.
Bir öğe bir nesnenin içine CDragListBox
bırakıldığında çerçeve tarafından çağrılır.
virtual void Dropped(
int nSrcIndex,
CPoint pt);
nSrcIndex
Bırakılan dizenin sıfır tabanlı dizinini belirtir.
Pt
Bırakma sitesinin koordinatlarını içeren bir CPoint nesnesi.
Varsayılan davranış, liste kutusu öğesini ve verilerini yeni konuma kopyalar ve özgün öğeyi siler. Liste kutusu öğelerinin kopyalarının listedeki diğer konumlara sürüklenmesi gibi varsayılan davranışı özelleştirmek için bu işlevi geçersiz kılın.
Pt konumunda bulunan liste kutusu öğesinin sıfır tabanlı dizinini almak için bu işlevi çağırın.
int ItemFromPt(
CPoint pt,
BOOL bAutoScroll = TRUE) const;
Pt
Liste kutusu içindeki bir noktanın koordinatlarını içeren bir CPoint nesnesi.
bAutoScroll
Kaydırmaya izin veriliyorsa sıfır olmayan, aksi takdirde 0.
Sürükleme listesi kutusu öğesinin sıfır tabanlı dizini.
MFC Örnek TSTCON
CListBox Sınıfı
Hiyerarşi Grafiği
CListBox Sınıfı