pb pour deplacer gadget en fonction de #PB_Event_SizeWindow

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
david
Messages : 208
Inscription : jeu. 03/févr./2005 21:10

pb pour deplacer gadget en fonction de #PB_Event_SizeWindow

Message par david »

Dans le code ci-après mon bouton apparaît à l'extremité droite de la fenetre. J'aurais voulu qu'il en soir toujours ainsi, même si celle-ci est redimensionné (deplacement du bouton).

J'arrive bien a tester #PB_Event_SizeWindow pour action a accomplir en cas de redimensionnement de la fenetre.
posix = WindowHeight() reprend bien sa nouvelle valeur mais apres je cale!

je suis bien allé voir du coté de MoveWindow et ResizeWindow... mais je ne vois plus ce que je dois faire. si qq'un peut m'aider svp.

Code : Tout sélectionner

   Enumeration 
  #Window_0 
  #Button_0 
EndEnumeration 

taillex= 200
tailley = 200
posix = 100
posiy = 100
;
;
;
;

If OpenWindow ( #Window_0 , posix, posiy, taillex, tailley, #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar , "Compteur Atouts" ) 
  If CreateGadgetList ( WindowID ())
     ButtonGadget ( #Button_0 , taillex-30, posiy, 30, 30, "clic" ) 

EndIf




Repeat

    Select WaitWindowEvent () ; 
    
         Case #Button_0 ;  
                  a=2
      Case #PB_Event_CloseWindow ;
        Quit=1 
      
      Case #PB_Event_SizeWindow ; je teste quand la taille de la fenetre est modifiée 
     posix = WindowHeight() 
  
  ; MoveWindow(FenetreX_PositionOrigine, FenetreY_PositionOrigine) 
  ; ResizeWindow(posix, posiy)
   
    EndSelect 
    
  Until Quit=1 
EndIf 
olivier
Messages : 305
Inscription : mer. 05/janv./2005 12:58
Localisation : http://www.tib-net.com/meca/index.htm

Message par olivier »

Tiens rajoute cela apres
Case #PB_Event_SizeWindow

Code : Tout sélectionner

taillex=WindowWidth()
ResizeGadget(#Button_0,taillex-30,-1,-1,-1)

Le -1 correspond à aucun changement

Bon courage
Vive le temps libre !
david
Messages : 208
Inscription : jeu. 03/févr./2005 21:10

#PB_Event_SizeWindow avec Image a redimensionner dans fenetr

Message par david »

ben ce que tu m'as dit ça fontionne impeccable. en fait je ne modifiait pas
le bon objet. alors là par contre quand je tire ton bouton se déplace toujours et pourtant de la meme facon je n'arrive pas a etirer mon image a coté du bouton
pourtant quand je l'ai definie avec
ResizeImage ( #image1 , taillex-20, tailley ) et
ImageGadget ( #image_gadget1 , 0,0,taillex,tailley, UseImage ( #image1 )) elle apparait correctement. pourquoi quand j'etire ma fenetre je n'arrive pas a etirer mon image????

Code : Tout sélectionner

Enumeration 
  #Window_0 
  #Button_0 
  #image1
  #image_gadget1
EndEnumeration 

taillex= 200
tailley = 200
posix = 100
posiy = 100
;
path1$="C:\_work\gaby1.jpg";************
;
UseJPEGImageDecoder ()
LoadImage ( #image1 , path1$ )
ResizeImage ( #image1 , taillex-20, tailley )

;

If OpenWindow ( #Window_0 , posix, posiy, taillex, tailley, #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar , "Tire" ) 
  If CreateGadgetList ( WindowID ())
     ImageGadget ( #image_gadget1 , 0,0,taillex,tailley, UseImage ( #image1 )) 
     ButtonGadget ( #Button_0 , taillex-30, posiy, 30, 30, "clic" ) 

EndIf




Repeat

    Select WaitWindowEvent () ; 
    
         Case #Button_0 ;  
                  a=2
      Case #PB_Event_CloseWindow ;
        Quit=1 
      
     Case #PB_Event_SizeWindow  
      taillex=WindowWidth() 
      tailley = WindowHeight() 
      
 ResizeImage ( #image1 , taillex-20, tailley ) ;*************
ResizeGadget(#image_gadget1,-1,-1,taillex-20, tailley) ;***********

 ResizeGadget(#Button_0,taillex-30,-1,-1,-1) 
     
   
    EndSelect 
    
  Until Quit=1 
EndIf 
olivier
Messages : 305
Inscription : mer. 05/janv./2005 12:58
Localisation : http://www.tib-net.com/meca/index.htm

Message par olivier »

Un gadget image n'a pas besoins d'être retailler, juste sa position est importante donc ici on peut le retirer.

ResizeGadget(#image_gadget1,-1,-1,taillex-20, tailley)

Ne sert à rien

Tu as bien retaillé ton image, il faut maintenant initialiser le gadget image avec la nouvel image retaillé :

Code : Tout sélectionner

ResizeImage ( #image1 , taillex-20, tailley ) 
SetGadgetState(#image_gadget1,UseImage(#image1)) 
Tu vas remarquer que ton image se dégrade a force de la retailler. Moi je la reload à chaque fois...

Bon courage
Vive le temps libre !
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

olivier a écrit :Tu vas remarquer que ton image se dégrade a force de la retailler. Moi je la reload à chaque fois...
Plutôt en faire un copie, ca prend beaucoup moins de temps processeur et c'est même plus simple à gérer...

Dri
david
Messages : 208
Inscription : jeu. 03/févr./2005 21:10

Message par david »

comment faire une copie et la ré-utiliser?
tu la Load une deuxieme fois sous un nom différent
pour la réutiliser apres?
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

copie, en anglais copy, y'a plus qu'a chercher dans l'aide copy + image

Dri -_-
Répondre