Ce topic : http://www.purebasic.fr/french/viewtopic.php?t=6379
ma inspirer une question.
Comment récupérer l'adresse mémoire d'un gadget (une combo) ?
Le but etant d'y transferé les données sans passé par une moulinette.
pour plus explication éssayé le code si dessous.
Code : Tout sélectionner
If OpenWindow(0, 100, 100, 600, 200, "Nouvelle liste", #PB_Window_SystemMenu)
If CreateGadgetList(WindowID(0))
ComboBoxGadget(1, 50, 20, 450, 100)
EndIf
Taille.b=10
Dim Source.s(Taille)
Dim Destination.s(Taille)
; Remplissage du tableau
For aa=0 To 10
Source(aa)="Ce Tableau de texte doit etre envoyé dans la combo, sans faire de moulinette" + Str(aa)
Next
;comment faire pour remplir la combo sans passé par une moulinette,
; exemple de moulinette
For aa = 0 To Taille
AddGadgetItem(1, aa, Source(aa))
Next aa
SetGadgetState(1, 0) ;selection le 1er element
; mais plutôt avec un truc du genre
; CopyMemory(@Source(),@Combo, ((Taille+1)*4))
; avec des tableaux ça marche bien,
CopyMemory(@Source(),@Destination(), ((Taille+1)*4))
; mais avec un objet simple comme une combo ou une liste view : comment faire ?
; Quelqu'un sait-il comment récupérer l'adresse mémoire du gadget ?
; Vérification que la copy mémoire a bien fonctionné !
For aa=0 To 10
Debug Source(aa)+" "+ Destination(aa)
Next
Repeat
EventID = WaitWindowEvent()
Until EventID = #PB_Event_CloseWindow
EndIf
