Page 1 sur 1

[RESOLUS] ScrollBar qui ne répond pas dans un panel

Publié : lun. 14/avr./2014 12:37
par microdevweb
Bonjour à tous,

Voila mon soucis, je place un scrollBar dans un Panel et ce dernier ne répond pas quand je clique dessus

Ma procédure de Windows

Code : Tout sélectionner

Procedure OpenMain_Windows(x = 0, y = 0, width = 600, height = 400)
  Main_Windows = OpenWindow(#PB_Any, x, y, width, height, "Euro million WIn", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_WindowCentered | #PB_Window_Maximize)
  Panel_0 = PanelGadget(#PB_Any, 0, 0, 600, 400)
  AddGadgetItem(Panel_0, -1, "Hit parade Numéros")
  Canvas_HIT_NUM = CanvasGadget(#PB_Any, 0, 0, 600, 378)
  AddGadgetItem(Panel_0, -1, "Combinaison numéro")
  Canvas_Combinaison_Numero=CanvasGadget(#PB_Any,0,0,600,378)
  AddGadgetItem(Panel_0, -1, "Visualisation Tirrage")
  Canvas_Visualisation_Tirage=CanvasGadget(#PB_Any,0,0,600,378)
  ScrollBar=ScrollBarGadget(#PB_Any,350,0,20,600,0,100,30,#PB_ScrollBar_Vertical)
 AddGadgetItem(Panel_0, -1, "Hit parade Etoiles")
  Canvas_HIT_ETOILE = CanvasGadget(#PB_Any, 0, 0, 600, 378)
  CloseGadgetList()
  Text_0 = TextGadget(#PB_Any, 140, 140, 100, 25, "")
  SetGadgetColor(Text_0, #PB_Gadget_BackColor,RGB(247,244,199))
  SetGadgetFont(Text_0, FontID(#Font_Main_Windows_0))
EndProcedure
Autre procédure ou je redimensionne mes champs

Code : Tout sélectionner

Procedure OuvreMainWindows()
      OpenMain_Windows()
      Widht=WindowWidth(Main_Windows,#PB_Window_InnerCoordinate)
      Height=WindowHeight(Main_Windows,#PB_Window_InnerCoordinate)
      Hauteur_Colonne=30
      Hauteur_Ligne_Tirrage=30
      Taille_Grille_Tirrage=(Hauteur_Ligne_Tirrage*ListSize(mesTirrages()))+Hauteur_Colonne
      ResizeGadget(Panel_0,0,0,Widht,Height-30)
      ResizeGadget(Canvas_HIT_NUM,0,0,GadgetWidth(Panel_0),GadgetHeight(Panel_0))
      ResizeGadget(Canvas_HIT_ETOILE,0,0,GadgetWidth(Panel_0),GadgetHeight(Panel_0))
      ResizeGadget(Canvas_Combinaison_Numero,0,0,GadgetWidth(Panel_0),GadgetHeight(Panel_0))
      ResizeGadget(Text_0,0,Height-30,Widht,30)
      ResizeGadget(Canvas_Visualisation_Tirage,0,0,GadgetWidth(Panel_0),GadgetHeight(Panel_0))
      ResizeGadget(ScrollBar,GadgetWidth(Panel_0)-30,0,20,GadgetHeight(Panel_0)-Hauteur_Colonne)
      SetGadgetAttribute(ScrollBar,#PB_ScrollBar_Minimum,0)
      SetGadgetAttribute(ScrollBar,#PB_ScrollBar_Maximum,100)
      SetGadgetAttribute(ScrollBar,#PB_ScrollBar_PageLength,10)
      SetGadgetState(ScrollBar,1)
      DessineHitParadeNumero()
      DessineHitParadeEtoile()
      AfficheTirage(Hauteur_Colonne,Hauteur_Ligne_Tirrage)
EndProcedure

Merci de votre aide

Re: ScrollBar qui ne répond pas dans un panel

Publié : lun. 14/avr./2014 14:47
par Mesa
Le scrollbar est posé sur un canvasgadget alors ça ne peut pas marcher.
En réduisant le canvas, ça fonctionne.

Code : Tout sélectionner

Global Main_Windows,Panel_0,Canvas_HIT_NUM,Canvas_Combinaison_Numero
Global Canvas_Visualisation_Tirage,ScrollBar,Canvas_HIT_ETOILE,Text_0 
Procedure OpenMain_Windows(x = 0, y = 0, width = 600, height = 400)
	Main_Windows = OpenWindow(#PB_Any, x, y, width, height, "Euro million WIn", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_WindowCentered | #PB_Window_Maximize)
	Panel_0 = PanelGadget(#PB_Any, 0, 0, 600, 400)
	AddGadgetItem(Panel_0, -1, "Hit parade Numéros")
	Canvas_HIT_NUM = CanvasGadget(#PB_Any, 0, 0, 600, 378)
	AddGadgetItem(Panel_0, -1, "Combinaison numéro")
	Canvas_Combinaison_Numero=CanvasGadget(#PB_Any,0,0,600,378)
	AddGadgetItem(Panel_0, -1, "Visualisation Tirrage")
	Canvas_Visualisation_Tirage=CanvasGadget(#PB_Any,0,0,600,378)
	ScrollBar=ScrollBarGadget(#PB_Any,350,0,20,600,0,100,30,#PB_ScrollBar_Vertical)
AddGadgetItem(Panel_0, -1, "Hit parade Etoiles")
	Canvas_HIT_ETOILE = CanvasGadget(#PB_Any, 0, 0, 600, 378)
	CloseGadgetList()
	Text_0 = TextGadget(#PB_Any, 140, 140, 100, 25, "")
	SetGadgetColor(Text_0, #PB_Gadget_BackColor,RGB(247,244,199))
	;SetGadgetFont(Text_0, FontID(#Font_Main_Windows_0))
EndProcedure
Procedure OuvreMainWindows()
			OpenMain_Windows()
			Widht=WindowWidth(Main_Windows,#PB_Window_InnerCoordinate)
			Height=WindowHeight(Main_Windows,#PB_Window_InnerCoordinate)
			Hauteur_Colonne=30
			Hauteur_Ligne_Tirrage=30
			;Taille_Grille_Tirrage=(Hauteur_Ligne_Tirrage*ListSize(mesTirrages()))+Hauteur_Colonne
			ResizeGadget(Panel_0,0,0,Widht,Height-30)
			ResizeGadget(Canvas_HIT_NUM,0,0,GadgetWidth(Panel_0),GadgetHeight(Panel_0))
			ResizeGadget(Canvas_HIT_ETOILE,0,0,GadgetWidth(Panel_0),GadgetHeight(Panel_0))
			ResizeGadget(Canvas_Combinaison_Numero,0,0,GadgetWidth(Panel_0),GadgetWidth(ScrollBar))
			ResizeGadget(Text_0,0,Height-30,Widht,30)
			
			;**********
			ResizeGadget(ScrollBar,GadgetWidth(Panel_0)-30,0,20,GadgetHeight(Panel_0)-Hauteur_Colonne)
		  ;**********
			ResizeGadget(Canvas_Visualisation_Tirage,0,0,GadgetWidth(Panel_0)-GadgetWidth(ScrollBar),GadgetHeight(Panel_0))
			
			SetGadgetAttribute(ScrollBar,#PB_ScrollBar_Minimum,0)
			SetGadgetAttribute(ScrollBar,#PB_ScrollBar_Maximum,100)
			SetGadgetAttribute(ScrollBar,#PB_ScrollBar_PageLength,10)
			SetGadgetState(ScrollBar,1)
			;DessineHitParadeNumero()
			;DessineHitParadeEtoile()
			;AfficheTirage(Hauteur_Colonne,Hauteur_Ligne_Tirrage)
EndProcedure

OuvreMainWindows()
Repeat
     Event = WaitWindowEvent()
     
     Select Event
     

            
     EndSelect
   Until Event = #PB_Event_CloseWindow

M.

Re: ScrollBar qui ne répond pas dans un panel

Publié : lun. 14/avr./2014 15:45
par microdevweb
Merci Mesa,

En effet le problème venait de la

Merci encore :lol: