Toon posts:

[vb6] weergave tijdens drag en drop

Pagina: 1
Acties:

Verwijderd

Topicstarter
Weet iemand hoe ik de weergave van het gesleepte item tijdens draggen en droppen kan wijzigen?

Ik sleep nu namelijk items uit een listbox, maar tijdens het slepen lijkt het alsof je de hele listbox versleept. Ik heb al wel wat gevonden om de mousepointer te wijzigen tijdens slepen, maar dat is niet echt wat ik bedoel.

ik gebruik momenteel de volgende code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Private Sub lstDraggedItems_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  If Button = vbLeftButton Then
    Call lstDraggedItems.Drag(vbBeginDrag) 'Begin de drag operatie
  End If
End Sub

Private Sub txtCommentaar_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  'Alleen drag & drop starten als er text in de textbox staat
  If Button = vbLeftButton And Not (txtCommentaar.Text = "") Then
    Call txtCommentaar.Drag(vbBeginDrag) 'Begin de drag operatie
  End If
End Sub

Private Sub txtZin_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
  'Alleen drag & drop starten als er text in de textbox staat
  If Button = vbLeftButton And Not (txtZin.Item(Index).Text = "") Then
    Call txtZin.Item(Index).Drag(vbBeginDrag)
  End If
End Sub

Private Sub txtZin_DragDrop(Index As Integer, Source As Control, X As Single, Y As Single)
  If TypeName(Source) = "ListBox" Then
    'De source is de listbox, text overnemen uit de list
    txtZin(Index).Text = Source.List(Source.ListIndex)
  ElseIf TypeName(Source) = "TextBox" Then
    'De source is een textbox, neem de tekst over uit de text-property
    txtZin.Item(Index).Text = Source.Text
    'Leeg de text-property als de source een van de txtItem textboxen is
    If Source.Name = "txtZin" Then Source.Text = ""
  End If
End Sub

  • Tranq
  • Registratie: Oktober 1999
  • Laatst online: 16-10-2024
Jij bedoeld zoals het in Windows gebeurd neem ik aan. Volgens mij is dit niet een standaard iets in vb6, maar hier een linkje wat in de buurt komt:

http://www.vbaccelerator....ng_ImageLists/article.asp

  • Lorn
  • Registratie: Maart 2000
  • Laatst online: 13-01-2025

Lorn

I have a bad feeling...

Je kunt voor de list- en textboxen de DragIcon property instellen. In de folder waar je Visual Studio in hebt staan heb je de directory Common\Graphics\Cursors. In deze folder heb je het bestand 'dragmove.cur'. Als je deze toewijst aan de DragIcon properties dan zul je zien dat je niet langer de hele box verplaatst maar dat het keurig een aangepaste mousecursor wordt.

Er staat trouwens ook een 'dragcopy.cur' in. Als je deze toewijst aan de listbox dan krijgt de gebruiker meteen te zien dat er gekopieërd zal worden ipv verplaatst.

[ Voor 21% gewijzigd door Lorn op 26-07-2004 11:44 ]


  • Lorn
  • Registratie: Maart 2000
  • Laatst online: 13-01-2025

Lorn

I have a bad feeling...

Er zit trouwens nog een klein probleem in de code die je nu gebruikt. Stel je start een drag vanaf txtZin(1) en je dropt 'em ook op txtZin(1) dan ben je de tekst kwijt. Je kunt binnen het stuk voor de Textbox nog controleren of de Source niet gelijk is aan de txtZin die het event triggert voordat je de tekst overneemt en eventueel weggooit.

[ Voor 5% gewijzigd door Lorn op 26-07-2004 13:00 ]


Verwijderd

Topicstarter
Thnxs,

die bug had ik inderdaad niet gezien.

  • Lorn
  • Registratie: Maart 2000
  • Laatst online: 13-01-2025

Lorn

I have a bad feeling...

Maar is nu ook je vraag beantwoord?

Verwijderd

Topicstarter
Ook dat,
ik heb inmiddels het customizen van de icoontjes en drag drop functie helemaal ontdekt!
bedankt voor je hulp!

  • Lorn
  • Registratie: Maart 2000
  • Laatst online: 13-01-2025

Lorn

I have a bad feeling...

Mooi! Succes met de rest van je applicatie :)
Pagina: 1