une question sir les redimensions svp ...

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
jbernard13
Messages : 1501
Inscription : dim. 18/avr./2004 15:04
Localisation : sud de la france

une question sir les redimensions svp ...

Message par jbernard13 »

Bonsoir
comment faire pour que la fenetre et une listeicone sois redimensinable

en 2 mot je sais que c'est ResizeGadget mais je sais pas l'utiliser
Jbernard13
Pingtix
Messages : 159
Inscription : mer. 03/nov./2004 15:30

Message par Pingtix »

Normalement dans ta boucle tu mets un truc du genre:
select WindowEvent()
Case #PB_Event_SizeWindow
ResizeGadget(#lalisteicone_de_jbernard,0,0,WindowWidth(),WindowHeight())
EndSelect
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

un exemple minimaliste mais concret :

1ère méthode

Code : Tout sélectionner

OpenWindow(0, 0, 0, 150, 150, #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_ScreenCentered, "Redim")
CreateGadgetList(WindowID())
ButtonGadget(0, 5, 5, 140, 140, "QUITTER")
    
Repeat
  
  Select WaitWindowEvent()
    
    Case #PB_Event_CloseWindow
      Quitter = 1
      
    Case #PB_Event_Gadget
      If EventGadgetID() = 0 : Quitter = 1 : EndIf
      
    Case #PB_Event_SizeWindow
      Largeur = WindowWidth()
      Hauteur = WindowHeight()
      ResizeGadget(0, -1, -1, Largeur-10, Hauteur-10)
      
  EndSelect
  
Until Quitter = 1

End
Dernière modification par Flype le jeu. 16/déc./2004 21:58, modifié 1 fois.
Image
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

2ème méthode ( plus difficile )

Code : Tout sélectionner

Procedure WindowCallback(WindowID, Message, wParam, lParam) 
  
  Resultat = #PB_ProcessPureBasicEvents 
  
  Select Message
  
    Case #WM_SIZE
      Largeur = WindowWidth()
      Hauteur = WindowHeight()
      ResizeGadget(0,-1,-1,Largeur-10,Hauteur-10)
      
  EndSelect
  
  ProcedureReturn Resultat
  
EndProcedure
  
OpenWindow(0,0,0,150,150,#PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_ScreenCentered,"Redim")
CreateGadgetList(WindowID())
ButtonGadget(0,5,5,140,140,"QUITTER")
SetWindowCallback(@WindowCallback())

Repeat
  
  Select WaitWindowEvent()
    
    Case #PB_Event_CloseWindow
      Quitter = 1
    
    Case #PB_Event_Gadget
      If EventGadgetID()=0 : Quitter=1 : EndIf
  
  EndSelect
      
Until Quitter = 1

End
Image
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Y a une troisième méthode, encore plus simple.

Tu mets des punaises dans les coins de ton gadget. Comme ça, il est obligé de suivre la taille de la fenêtre
:jesors:
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Oh tu t'embête Chris; non tu pivotes doucement le moniteur jusqu'à la taille voulue.

:lol:
Répondre