Salut à tous
Voilà je voudrais bien controler les ScrollAreaGadget :
1- Comment les redimenssioner (taille interieur)
2- Comment les déplacer (remonter automatiquement tout en haut)
3- Comment les faire fonctionner avec la molette
Mes solutions mais j'attends mieux....
1- ????
2- SetScrollPos_(GadgetID(#scrollgadget),#SB_VERT,0,1)
Mais ça n'a pas l'aire de bien marcher
3- Récuperer l'action sur la molette et déplacer la fenetre avec SetScrollPos....
Merci d'avance si vous avez mieux
Dimenssionement d'un ScrollAreaGadget
-
- Messages : 305
- Inscription : mer. 05/janv./2005 12:58
- Localisation : http://www.tib-net.com/meca/index.htm
Dimenssionement d'un ScrollAreaGadget
Vive le temps libre !
Salut Olivier, je viens de poster un code dans "Trucs et Astuces" qui pourra t'aider pour le redimensionnement d'un scrollareagadget. C'est un images viewer relativement simple qui peut être un exemple de départ.
@+ Jacobus
@+ Jacobus
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
Voici un code d'exempe pour gérer la molette.
Code : Tout sélectionner
;Application du message WM_MOUSEWEEL
#WM_MOUSEWHEEL = $20A
Global Hscroll.l
Procedure ProcedureCallback(WindowID, Message, wParam, lParam)
Resultat = #PB_ProcessPureBasicEvents
;Debug Message
Select Message
Case #WM_MOUSEWHEEL
hi.w=(wParam>>16)
lo.w=wParam & $FFFF
If lo.w & #MK_MBUTTON
;indique le click de la molette seulement si celle-ci tourne
MessageRequester("Info", "Click de la molette")
EndIf
coef=4
delta=hi*coef
Debug delta
While delta>120
SendMessage_(Hscroll, #WM_VSCROLL, #SB_LINEUP, 0)
delta=delta-(120+coef)
Wend
While delta< -120
SendMessage_(Hscroll, #WM_VSCROLL, #SB_LINEDOWN, 0)
delta=delta+(120+coef)
Wend
EndSelect
ProcedureReturn Resultat
EndProcedure
If OpenWindow(0,0,0,400,400,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"ScrollAreaGadget") And CreateGadgetList(WindowID(0))
Hscroll=ScrollAreaGadget(0, 10, 10,360,300, 340, 800, 30)
ButtonGadget (1, 10, 140,230, 30,"Button 1")
CloseGadgetList()
SetWindowCallback(@ProcedureCallback())
Repeat
EventID.l=WaitWindowEvent()
Select EventID
Case #PB_EventGadget
Select EventGadgetID()
Case 1
EndSelect
Case #WM_CLOSE
Quit=1
EndSelect
Until Quit=1
EndIf
-
- Messages : 305
- Inscription : mer. 05/janv./2005 12:58
- Localisation : http://www.tib-net.com/meca/index.htm