Page 1 sur 1

[Résolu] Problème redimensionner

Publié : ven. 01/avr./2011 16:34
par David02
J'aimerais savoir comment faire pour redimensionner un gadget quand on agrandi la fenêtre?

Voici le code utilisé pour le test:

Code : Tout sélectionner

Enumeration
  #Window_0
EndEnumeration

Enumeration
  #ProgressBar_0
EndEnumeration

OpenWindow(#Window_0, 220, 0, 600, 300, "New window ( 0 )", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_TitleBar | #PB_Window_MinimizeGadget | #PB_window_maximizeGadget)
      ProgressBarGadget(#ProgressBar_0, 20, 200, 560, 60, 0, 10)
      

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_Gadget
    Case #PB_Event_Menu
      Select EventGadget()
        Case #PB_Window_MaximizeGadget
          ResizeGadget(#ProgressBar_0, 300, #PB_Ignore, 1200, #PB_Ignore)
          EndSelect
    Case #PB_Event_CloseWindow
      fermer=#True
  EndSelect
Until fermer
Merci

Re: Problème redimensionner

Publié : ven. 01/avr./2011 16:48
par venom
avec les fonctions

Code : Tout sélectionner

WindowWidth(#Fenetre) 
WindowHeight(#Fenetre)





@++

Re: Problème redimensionner

Publié : ven. 01/avr./2011 17:12
par David02
Oui mais c'est pour la fenêtre principale?
Moi ça serait d'agrandir le gadget (la progressbar) quand on appuie sur "Agrandir".

Re: Problème redimensionner

Publié : ven. 01/avr./2011 17:38
par venom
et bien oui :D WindowWidth(#Fenetre) renvoie la largeur de la fenetre donc ça fonctionne. :wink:

aller un ptit bout fait a l'arrache non commenter :

Code : Tout sélectionner

;- Window Constants
Enumeration
	#Window_0
EndEnumeration

;- Gadget Constants
Enumeration
	#ProgressBar_0
EndEnumeration

	If OpenWindow(#Window_0, 0, 0, 170, 40, "",  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
	  ProgressBarGadget(#ProgressBar_0, 10, 10, 150, 20, 0, 100)
	   SetGadgetState(#ProgressBar_0, 50)

	EndIf
	
	Repeat
		Event = WindowEvent()
		
		If Event = #PB_Event_MaximizeWindow
			Largeur = WindowWidth(#Window_0)
			ResizeGadget(#ProgressBar_0, 10, 10, Largeur-20, 20)
		EndIf
		
		If Event = #PB_Event_RestoreWindow
			Largeur = WindowWidth(#Window_0)
			ResizeGadget(#ProgressBar_0, 10, 10, 150, 20)
		EndIf
		
	Until Event = #PB_Event_CloseWindow






@++

Re: Problème redimensionner

Publié : ven. 01/avr./2011 17:48
par David02
Merci beaucoup :D

Re: [Résolu] Problème redimensionner

Publié : ven. 01/avr./2011 17:52
par venom
De rien,

tu te tromper c'est a partir de la ligne repeat regarde mien mon code et le tiens :wink:






@++

Re: [Résolu] Problème redimensionner

Publié : ven. 01/avr./2011 18:09
par David02
Ouais j'ai vu.

Mais toi tu as WindowEvent() mais je peux aussi mettre WaitWindowEvent à la place?
Car je crois avoir vu dans un topic qu'on ne pouvait pas mettre les 2, c'est l'un ou l'autre.

Re: [Résolu] Problème redimensionner

Publié : ven. 01/avr./2011 18:13
par venom
pour mieux comprendre affiche l'aide de purebasic et compare les 2 cas tu verra :wink:






@++

Re: [Résolu] Problème redimensionner

Publié : ven. 01/avr./2011 18:20
par David02
Voila j'ai effectuer le code sur un webgadget et cela fonctionne parfaitement.

J'ai mis WaitWindowEvent() car j'ai comparé les 2 dans l'aide et je préfère WaitWindowEvent :lol:

En tout cas merci pour l'aide :D

Re: [Résolu] Problème redimensionner

Publié : ven. 01/avr./2011 18:38
par falsam
En plus court ça doit aussi fonctionner (#PB_Event_SizeWindow)

Code : Tout sélectionner

;- Window Constants
Enumeration
   #Window_0
EndEnumeration

;- Gadget Constants
Enumeration
   #ProgressBar_0
EndEnumeration

   If OpenWindow(#Window_0, 0, 0, 170, 40, "",  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
     ProgressBarGadget(#ProgressBar_0, 10, 10, 150, 20, 0, 100)
     SetGadgetState(#ProgressBar_0, 50)
   EndIf
   
   Repeat
     Event = WaitWindowEvent()
     
     Select Event
      Case #PB_Event_SizeWindow
        Largeur = WindowWidth(#Window_0)
        ResizeGadget(#ProgressBar_0, #PB_Ignore, #PB_Ignore, Largeur-20, #PB_Ignore )
    EndSelect
         
   Until Event = #PB_Event_CloseWindow