Page 1 sur 1

changer un objet image en objet web

Publié : lun. 06/févr./2006 20:02
par david
Dans le prog ci-après je voulais faire apparaitre l'image et quand on appuie sur le bouton la meme fenetre se transforme en fenetre web.

PB: je n'y arrive pas. est-ce que je ne dois pas plutot definir une fenetre web non utilisee qui se superpose a la fenetre image et qui sera utilisé apres? ou est-ce qu'il existe un REMPLACE OBJETIMAGE PAR OBJETWEB
De plus je n'arrive pas a faire un "ResizeWebGadget" pour que ma page Web soit bien dimensionnee dans me fenetre quelque soit le redimensionnement que je fait avec #PB_Event_SizeWindow.

Si quelqu'un peut me donner une piste. Merci d'avance...

Code : Tout sélectionner

Enumeration 
  #Window_0 
  #Button_0 
  #image1 
  #image_gadget1 
  #image_gadget2
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 ()) 
  If internet = 1
    ImageGadget ( #image_gadget1 , 0,0,taillex,tailley, UseImage ( #image1 )) 
    endif
    If internet= 0
    If WebGadget(#image_gadget2, 0,0,taillex,tailley, "http://www.purebasic.com") = 0 : MessageRequester("Error", "ATL.dll not found", 0) : End : EndIf
  EndIf
     ButtonGadget ( #Button_0 , taillex-30, posiy, 30, 30, "clic" ) 

EndIf 




Repeat 

    Select WaitWindowEvent () ; 
    
         Case #Button_0 ;  
           internet=1   
                 
               
                 
      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 

Publié : mar. 07/févr./2006 13:52
par brossden
Le WebGaget sait afficher une image sans autres code que le nom de l'image à afficher.
Donc on peut faire simple avec :

Code : Tout sélectionner


Enumeration
  #Window_0
  #Web_0
  #Button_0
  #String_0
EndEnumeration
Global Affichage.s

MessageRequester("Information","En premier lieu, vous devez choisir une Image à afficher")
Affichage.s = OpenFileRequester("Choisir une image", "c:\", "*.jpg",1)


Procedure Open_Window_0()
  If OpenWindow(#Window_0, 386, 91, 762, 675,  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar , "Tire")
    If CreateGadgetList(WindowID())
      WebGadget(#Web_0, 10, 10, 670, 530, Affichage.s)
      ButtonGadget(#Button_0, 30, 580, 70, 30, "Internet")
      StringGadget(#String_0, 130, 580, 190, 20, "http://www.purebasic.fr")
    EndIf
  EndIf
EndProcedure

Open_Window_0()

Repeat 
  Event = WaitWindowEvent() ; This line waits until an event is received from Windows
  GadgetID = EventGadgetID() 
  If Event = #PB_EventGadget
    If GadgetID = #Button_0
      If GetGadgetText(#Button_0) = "Internet"
        SetGadgetText(#Button_0,"Image")
        SetGadgetText(#Web_0,GetGadgetText(#String_0))
      Else
        SetGadgetText(#Button_0,"Internet")
        SetGadgetText(#Web_0,Affichage)
      EndIf
    EndIf
  EndIf
Until Event = #PB_Event_CloseWindow ; End of the event loop
End


Publié : ven. 10/févr./2006 10:50
par david
ben oui ca marche bien
par contre je faisait un RESIZEIMAGE pour que l'image tienne dans le cadre sans avoir de barre de défilement
dans ton exemple j'ai consulté toute la doc RESIZE et j'ai bien tenté RESIZEGADGET... mais rien n'y fait...

Comment redimensionner mon image en tant que WebGadget
ainsi que le site web en cas d'appuie sur le bouton?