J'ai un soucis avec la commande SetGadgetAttribute(#Scroollbar,#PB_ScrollArea_InnerHeight,y). Je suis en train de créer un programme afin de visionner des images et j'en ai un nombre important. Afin de pouvoir toutes les visionner, je dois modifier la hauteur interne de ScrollAreaGadget() mais la fonction SetGadgetAttribute(#Scroollbar,#PB_ScrollArea_InnerHeight,y) n'accepte pas une valeur supérieure à 32270. Es-ce normal ou ai-je commis une erreur? Y-a t'il une solution?
Merçi
Code : Tout sélectionner
Enumeration
#Scroollbar
#Windows2
EndEnumeration
Procedure.s EcrireIni(Menu.s,Clef.s,Valeur.s,Ini.s="")
WritePrivateProfileString_(Menu,Clef ,Valeur,Ini)
EndProcedure
Procedure.s LireIni(Rubrique.s,Clef.s,Ini.s="")
Value.s=Space(255)
IniData=GetPrivateProfileString_(Rubrique,Clef,"",@Value.s,255,Ini)
ProcedureReturn Value
EndProcedure
Procedure Menu()
OpenWindow(#Windows2,0,0,DesktopWidth(0),DesktopHeight(0)-2,"",#PB_Window_BorderLess|#PB_Window_Invisible)
SetWindowColor(#Windows2,16698567)
ScrollAreaGadget(#Scroollbar, 0, 20, WindowWidth(#Windows2)-10,WindowHeight(#Windows2)-20, WindowWidth(#Windows2)-31, 9000, 219, #PB_ScrollArea_BorderLess)
OpenGadgetList(#Scroollbar)
ContainerGadget(1,0,0,WindowWidth(#Windows2)-31,900)
x=10:y=0:Gadget=500
For Compte=1 To 2500
ImageGadget(Gadget,x,y,270,210,0)
x+280
If x=1410:x=10:y+220:EndIf
Gadget+1
Next
CloseGadgetList()
CloseGadgetList()
SetGadgetAttribute(#Scroollbar,#PB_ScrollArea_InnerHeight,y)
ResizeGadget(1,#PB_Ignore,#PB_Ignore,#PB_Ignore,y)
Gadget=500
x=10:y=0
Repertoire.s="E:\Photos\"
FichierIni.s=Repertoire+"Fichiers.ini"
HideWindow(#Windows2,0)
For Compte=1 To 500
Image.s=LireIni("Menu",Str(Compte))
x+280
If x=1410:x=0:y+219:EndIf
position=GetGadgetAttribute(#Scroollbar,#PB_ScrollArea_Y)
If Index=20 Or Index=40 Or Index=60 Or Index=80 Or Index=100 Or Index=120 Or Index=140
SetGadgetAttribute(#Scroollbar,#PB_ScrollArea_Y,position+876)
EndIf
HideGadget(Gadget,0)
If ReadFile(0,Repertoire+Image)
LoadImage(Gadget,Repertoire+Image)
ResizeImage(Gadget,270,210)
SetGadgetState(Gadget,ImageID(Gadget))
GadgetToolTip(Gadget,Image)
Index+1
Delay(50):While WindowEvent():Wend
Gadget+1
CloseFile(0)
EndIf
Next
Debug GetGadgetAttribute(#Scroollbar,#PB_ScrollArea_InnerHeight)
EndProcedure
UseJPEGImageDecoder()
ExamineDesktops()
Menu()
Repeat
Event=WaitWindowEvent()
Select Event
Case #PB_Event_Menu ; We only have one shortcut
Select EventMenu()
EndSelect
Case #PB_Event_Gadget
Select EventGadget()
EndSelect
Default
EndSelect
Until Event=#PB_Event_CloseWindow