[Résolu] Problème Drag et Drop ListWiew vers Editor

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Re: Drag et Drop ListWiew vers Editor

Message par nico »

Supprimer by me.
Dernière modification par nico le lun. 06/mars/2017 2:13, modifié 2 fois.
Avatar de l’utilisateur
Shadow
Messages : 1428
Inscription : mer. 04/nov./2015 17:39

Re: Drag et Drop ListWiew vers Editor

Message par Shadow »

Merci à vous deux, j'ai peine à comprendre et je suis comfus :?
Sur ton code Falsam, pas de EnableGadgetDrop :?: :?: :?:
Et ça fonctionne 8O

Sur celui de nico ya bien un EnableGadgetDrop
et ça marche aussi !

Alors merci beaucoup à vous deux 8)
AMD Ryzen 5 3600 (6 cœurs / 12 threads, Socket AM4)
Gainward GeForce RTX 3070 (8 GB GDDR6)
ASUS PRIME A320M-K (chipset AMD A320)
64 GB DDR4-3200
Asus 24 Pouces: 1920 x 1080.
Système: Windows 10 64 Bits.

PureBasic: 6.30 beta 4 x64 Bits.
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Re: Drag et Drop ListWiew vers Editor

Message par nico »

Le code de Falsam est le bon, je n'y avais pas fait attention, il était tellement court que je croyais qu'il manquait quelque chose.

et ta réflexion Shadow était pertinente, en effet le drag drop est activé par défaut sur le gadget editeur d'où le problème rencontré en l'activant, en croyant bien faire, cette spécificité devrait être spécifié dans l'aide.

En reprenant ton code, ça donne ça:

Code : Tout sélectionner

Enumeration 1
  #Fenetre
  #ListView
  #Editor
EndEnumeration


If OpenWindow(#Fenetre, 327, 177, 500, 300, "Exemple Drag et Drop ListeWiew vers Editor Gadget...",  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered | #PB_Window_TitleBar)
  EditorGadget(#Editor, 2, 2, 496, 147)
  ListViewGadget(#ListView, 2, 151, 496, 147)
  
  For I = 0 To 5
    AddGadgetItem(#ListView, -1, "Élément n°" + Str(I))
  Next
  
  Repeat
    Event = WaitWindowEvent()
    
    Select Event 
      Case #PB_Event_Gadget
        Select EventGadget() 
            
          Case #ListView
            If EventType() = #PB_EventType_DragStart
              DragText(GetGadgetItemText(#ListView, GetGadgetState(#ListView)), #PB_Drag_Copy)
            EndIf
            
        EndSelect
        
        
      Case #PB_Event_GadgetDrop
        Select EventGadget() 
          Case #Editor
            SendMessage_(GadgetID(#Editor), #EM_REPLACESEL, 1, EventDropText())
            
        EndSelect
        
    EndSelect   
  Until Event = #PB_Event_CloseWindow
EndIf
Avatar de l’utilisateur
Shadow
Messages : 1428
Inscription : mer. 04/nov./2015 17:39

Re: Drag et Drop ListWiew vers Editor

Message par Shadow »

Je vous remercie beaucoup à vous deux 8)
et ta réflexion Shadow était pertinente, en effet le drag drop est activé par défaut sur le gadget editeur d'où le problème rencontré en l'activant, en croyant bien faire, cette spécificité devrait être spécifié dans l'aide.
Je comprends, donc quoi, si mon programme à un EditorGadget ne pas utiliser la fonction: EnableGadgetDrop ?
Oui se serais pertinent de le noté dans l'aide :)
AMD Ryzen 5 3600 (6 cœurs / 12 threads, Socket AM4)
Gainward GeForce RTX 3070 (8 GB GDDR6)
ASUS PRIME A320M-K (chipset AMD A320)
64 GB DDR4-3200
Asus 24 Pouces: 1920 x 1080.
Système: Windows 10 64 Bits.

PureBasic: 6.30 beta 4 x64 Bits.
Répondre