Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1555 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA - Drag & Drop dans ListBox avec ScrollBar

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

VBA - Drag & Drop dans ListBox avec ScrollBar

n°1467254
aprilthe5i​th
Posté le 30-10-2006 à 10:59:45  profilanswer
 

Bonjour,
 
J'ai fait un petit code permettant de drag & dropper des éléments d'une listbox, au sein de cete même list box, de facon à les ordonner à la main.
Ca fonctionne très bien, le code est simple et repose sur 3 private Sub :  
 
ListBox1_BeforDragOver
ListBox1_MouseMove
ListBox1_BeforeDropOrPaste
 
Le problème se pose lorsqu'un scroller apparait dans cette ListBox1 et que je ne peux pas voir A LA FOIS l'élément à déplacer ET l'endroit où le déplacer : p.ex, je mets le scroller tout en bas pour déplacer le dernier élément vers la première position.  
 
En effet, je voudrais que lorsque le curseur de ma souris arrive en "haut" de la liste (qui n'est pas le véritable haut, puisque le scroller est tout en bas), le scroller se déplace vers le haut.. comme dans les vrais programmes, quoi.
 
Le problème vient de la procédure :
 
ListBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal y As Single)
 
Dim MyDataObject As DataObject
If Button = 1 Then
    Set MyDataObject = New DataObject
    Dim Effect As Integer
    MyDataObject.SetText TarifList.Value
    Effect = MyDataObject.StartDrag
End If
 
 
En effet, tant que je déplace ma souris dans la liste, sans cliquer sur un élément, la coordonnée Y de la souris évolue , mais lorsque je déplace un élément, au moment du clic, les coordonnées se figent.
 
Or jusqu'à présent, je me servais de ces coordonnées (Y en tous cas) pour les déplacements d'éléments et je pensais, pour faire défiler le scroller vers le haut, faire un truc du style :
 
if ListBox1.topindex>0 then
if Y=0 then ListBox1.topindex=ListBox1.topindex-1
end if
 
dans le ListBox1_MouseMove.
 
Mais comme je l'ai dit, le Y reste bloqué au moment du clic et n'évolue plus lors du "glissé" de l'élément.
 
Merci de votre aide.
 
 
 
 
 
 
 

mood
Publicité
Posté le 30-10-2006 à 10:59:45  profilanswer
 

n°1467670
aprilthe5i​th
Posté le 30-10-2006 à 17:07:19  profilanswer
 

C bon, j'ai trouvé.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA - Drag & Drop dans ListBox avec ScrollBar

 

Sujets relatifs
VBA - Edition Excel.VBA Word interdiction creation style paragraphe
[VBA] Problème de choix dans le carnet d'adresseVBA SOLVEUR
Excel - VBA - Gestion des onglets[VBA] De Excel à Word, collage
[VBA] Nommer un classeur après sa création[VBA] Macro pour créer un classeur contenant une macro
[EXCEL + VBA ] Mise en forme conditionnelle 
Plus de sujets relatifs à : VBA - Drag & Drop dans ListBox avec ScrollBar


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR