Haberler:

Zamanının büyük çoğunluğunu internette geçiren ve forumumuzla yeterince ilgilenebilecek moderatörler alınacaktır.

Ana Menü

VB ile Sürükleme İşlemleri Drag&Drop

Başlatan yakamoz, 02 Şubat , 2011, 13:31:56

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

yakamoz

Properties
DragIcon : sürükleme işlemi sırasında mouse iconu bu özellike belirtilir.
DragMode :
0 - vbManual : Bu durumda DragDrop olayına yazılan kodla nesnenin koordinatları değiştirilerek
nesne bırakılmalıdır.

1 - vbAutomatic : Bu durumda nesne otomatik sürüklenir, siz sadece bırakma işlemi için kod
yazmalısınız.

Uyarı
DragDrop olayının otomatik olması baz nesnelerin click olayı engeller.Yani click olayı meydana
gelmez.Mesela bir text kutusuna otomatik verirseniz, içerisinde yazılan ifadeleri mouse ile
seçemzsiniz.Bu yüzden en mantıklı yol; label,picturebox gibi kontrollere
otomatik,textbox,combobox,list box gibi seçim yapılabilen kontrollere ise manual vermelisiniz.

DragMode özelliği manual verilmiş kontrollerin sürükleme işlemi Drag metodu ile
başlatılır.(MouseDown olayı kullanılarak)

Örnek
Private Sub Listbox1_MouseDown(Button As Integer...)
If button = vbLeftButton Then Listbox1.Drag
End Sub

Events

DragDrop(Source as Control,X As Single,Y As Single)
taşınan nesnenin bir kontrol üzerine bırakılması durumunda bu olay meydana gelir ve;
Source parametresi ile üzerine bırakılacak olan nesne öğrenilebilir
X ve Y ise mouse koordinatları verir.

DragOver(Source As Control,X As Single,Y As Single,State As Integer)
nesne taşınırken hedef nesne üzerinden geçerken bu olay meydana gelir ve;
Source parametresi ile taşınan nesne öğrenilir.
X ve Y parametresi mouse koordinatlarını verir.
State parametresi ile geçiş durumu öğrenilebilir;
0 : vbEnter taşınan nesne hedef nesne üzerine giriş yapmışsa
1 : vbLeave taşınan nesne hedef nesne üzerinden ayrılmışsa
2 : vbOver taşınan nesne hedef nesne üzerinden geçmişse bu değeri alır.
Ancak 0 ve 1 durumları anlık olaylardır.2 durumu ise daha uzun süreli meydana gelir.

Methods

Drag
Eğer DragMode özelliği manual yani elle başlatılacak ise sürükleme işlemi bu metodla
başlatılmalıdır.3 parametresi vardır;
0 : vbCancel sürükleme işlemini iptal eder.
1 : vbBeginDrag sürükleme işlemini başlatır.
2 : vbEndDrag sürükleme işlemini sona erdirir.

Örnek:
Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single)
If TypeOf Source Is Label Then 'Eğer control label ise
Source.Left = X 'kontrolün yeni koordinatlarını ayarla
Source.Top = Y
End If
End Sub

Private Sub Label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbLeftButton Then
Label1.Drag (vbBeginDrag)
End If
End Sub
Zaman Geçmezde - Geçilmezde
İter Seni Arkandan,Düşürür Dizlerinin Üstüne
Kaçar Elinden Saniyeler,
Saçılır Yerlere

yakamoz

Zaman Geçmezde - Geçilmezde
İter Seni Arkandan,Düşürür Dizlerinin Üstüne
Kaçar Elinden Saniyeler,
Saçılır Yerlere