Défilement gadget

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

Défilement gadget

Message par Droopy »

Dans un EditorGadget ou une ListIcon, comment faire pour toujours afficher automatiquement la dernière ligne lorsque l'on ajoute des datas ?
( sans avoir à faire défiler manuellement la l'ascenceur en bas )

( Genre ce qui se passe avec la fenêtre de débogage )
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

Code : Tout sélectionner

OpenWindow(0,0,0,320,240,"test",#PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
ListIconGadget(0,5,5,310,110,"",200)
EditorGadget(1,5,120,310,110)

Procedure test()
  For i=0 To 200
    AddGadgetItem(0,i,Str(i))
    AddGadgetItem(1,i,Str(i))
    SendMessage_(GadgetID(0),#LVM_ENSUREVISIBLE,i,#False)
    SendMessage_(GadgetID(1),#EM_SCROLL,#SB_LINEDOWN,#Null)
    Delay(50)
  Next
EndProcedure

CreateThread(@test(),0)

Repeat:Until WaitWindowEvent()=#PB_Event_CloseWindow
Image
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

Message par Droopy »

Merci beaucoup Flype :D

J'ai ajouté le ListView, comme ça la question est close .

Code : Tout sélectionner

;/ PureBasic 3.94
;/ Test Auto-Scroll des gadgets : ListIcon / ListView / Editor

Enumeration
  #Label1
  #Label2
  #Label3
  #ListView
  #ListIcon
  #Editor
EndEnumeration

OpenWindow(0,0,0,340,200,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"PureBasic Auto-Scroll Gadget Test")
CreateGadgetList(WindowID(0))
TextGadget(#Label1,10,10,100,20,"ListView")
TextGadget(#Label2,120,10,100,20,"ListIcon")
TextGadget(#Label3,230,10,100,20,"Editor")
ListViewGadget(#ListView,10,30,100,150)
ListIconGadget(#ListIcon,120,30,100,150,"Test",70) 
EditorGadget(#Editor,230,30,100,150) 

Procedure Ajout()
  
  For Compteur=1 To 50
    AddGadgetItem(#ListView,-1,Str(Compteur))
    AddGadgetItem(#ListIcon,-1,Str(Compteur))
    AddGadgetItem(#Editor,-1,Str(Compteur))
     
    SetGadgetState(#ListView,CountGadgetItems(#ListView)-1)                                   ;/ ListView
    SendMessage_(GadgetID(#ListIcon),#LVM_ENSUREVISIBLE,CountGadgetItems(#ListIcon)-1,#True)  ;/ ListIcon
    SendMessage_(GadgetID(#Editor), #EM_SCROLLCARET, #False,#False)                           ;/ EditorGadget
     
    Delay(100)
  Next
EndProcedure

CreateThread(@Ajout(),0)

Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Code en V4 :

Code : Tout sélectionner

;/ PureBasic 4
;/ Test Auto-Scroll des gadgets : ListIcon / ListView / Editor

Enumeration
  #Label1
  #Label2
  #Label3
  #ListView
  #ListIcon
  #Editor
EndEnumeration

OpenWindow(0,0,0,340,200,"PureBasic Auto-Scroll Gadget Test",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
TextGadget(#Label1,10,10,100,20,"ListView")
TextGadget(#Label2,120,10,100,20,"ListIcon")
TextGadget(#Label3,230,10,100,20,"Editor")
ListViewGadget(#ListView,10,30,100,150)
ListIconGadget(#ListIcon,120,30,100,150,"Test",70)
EditorGadget(#Editor,230,30,100,150)

Procedure Ajout()
 
  For Compteur=1 To 50
    AddGadgetItem(#ListView,-1,Str(Compteur))
    AddGadgetItem(#ListIcon,-1,Str(Compteur))
    AddGadgetItem(#Editor,-1,Str(Compteur))
     
    SetGadgetState(#ListView,CountGadgetItems(#ListView)-1)                                   ;/ ListView
    SendMessage_(GadgetID(#ListIcon),#LVM_ENSUREVISIBLE,CountGadgetItems(#ListIcon)-1,#True)  ;/ ListIcon
    SendMessage_(GadgetID(#Editor), #EM_SCROLLCARET, #False,#False)                           ;/ EditorGadget
     
    Delay(100)
  Next
EndProcedure

CreateThread(@Ajout(),0)

Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

La convertion ne marche pas chez moi :cry:

#LVM_ENSUREVISIBLE = Constant no found
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

#LVM_ENSUREVISIBLE = 4115 ; $1013
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Je te remercie Progi1984.
Tu va rire (C'est pas sur) mais cette fois c'est #EM_SCROLLCARET qui est manquant a l'appel 8O

Comment ça se fait que cela ne le fait pas chez toi ???
Me manquerait il un fichier res ????
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

#EM_SCROLLCARET = 183 ; $B7

Parceque j'ai travaillé pas mal sur les gadgets et que je me suis fait une lib accompagné d'un resident qui contient beaucoup beaucoup de constantes et structures manquantes !
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

ALLELUIA !!!!

ça marche.
J'ai eu peur j'ai cru qu' a force d'avoir un programmeur nul, mon pure c'etait mis à etre malade :lol:

Grand merci de ton aide 8)
Répondre