Page 1 sur 1

gadgetImage et hide window PROBLEME

Publié : ven. 09/sept./2005 18:22
par Le psychopathe
Voilà j'ai fais un programme avec une image mais quand je dis hide window et que je fais réaffiche la fenêtre l'image a disparu. J'ai aussi détruit le gadget et refais avec image mais rien j'arrive pas à remettre une image.
Aidez moi sa me ****. :x

Publié : ven. 09/sept./2005 18:48
par LeCyb
Si je dis pas de connerie en utilisant un gadget image y'a un refresh automatique.

Publié : ven. 09/sept./2005 18:57
par nico
C'est à toi de faire en sorte que l'image réapparaisse si l'image n'est pas affiché par un gadget, c'est donc tout à fait normal.

Publié : ven. 09/sept./2005 19:03
par Le psychopathe
Dans ce cas dis moi commetn faire car j'ai tout essayé enfin tout ce que j'ai vu dans l'aide.

Publié : ven. 09/sept./2005 19:07
par nico
Il faut procéder au traitement du message #WM_PAINT, mais pour cela il est nécessaire d'utiliser un callback.

Publié : ven. 09/sept./2005 19:37
par Le psychopathe
Je ne connais pas les call back et tout sa. Bon s'y tu avas un exemple se serait sympa. Je vais chercher un peu.
++

Publié : ven. 09/sept./2005 21:06
par fweil
Deux options possibles, l'une par un callback qui réaffiche l'image, ce qui n'est pas une sinécure, la seconde insérer l'image dans un ImageGadget() comme le précise LeCyb ...

Code : Tout sélectionner

Enumeration
  #Window_Main
  #Image
  #Gadget_Image
EndEnumeration

  WindowWidth = 640
  WindowHeight = 480
  ImageWidth = WindowWidth
  ImageHeight = WindowHeight
  If OpenWindow(#Window_Main, 0, 0, WindowWidth, WindowHeight, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered, "MyWindow")
      AddKeyboardShortcut(#Window_Main, #PB_Shortcut_Escape, #PB_Shortcut_Escape)
      ImageID = CreateImage(#Image, ImageWidth, ImageHeight)
      StartDrawing(ImageOutput())
        Box(0, 0, WindowWidth, WindowHeight, #Blue)
        DrawingMode(1)
        Locate(10, 10)
        DrawText("This is an image")
      StopDrawing()
      If CreateGadgetList(WindowID(#Window_Main))
        ImageGadget(#Gadget_Image, 0, 0, WindowWidth, WindowHeight, ImageID)
      EndIf
      Quit = #False
      Repeat
        Select WaitWindowEvent()
          Case #PB_Event_CloseWindow
            Quit = #True
          Case #PB_Event_Menu
            Select EventMenuID()
              Case #PB_Shortcut_Escape
                Quit = #True
            EndSelect
        EndSelect
      Until Quit
  EndIf
End

Publié : sam. 10/sept./2005 7:59
par Le psychopathe
Mon image est déjà dans un image gadget donc j'ai essayé de supprimé le gadget, ensuite de le refaire l'image revient pas. En fait quand je fais hidewindow ou que je redimenssionne la fenetre l'image disparait et je n'arrive pas à la réafficher.

Quelqu'un aurait un truc pour sa ? :?

Publié : sam. 10/sept./2005 8:25
par nico
T'as essayé de reproduire ce problème avec un code simple contenant seulement une fenêtre un un imagegadget?

Publié : sam. 10/sept./2005 11:29
par Le psychopathe
Avec comme gadget 1 seul gadget donc 1 image cela marche mais j'ai dans mon programme 6 gadget et celka ne marche pas comment faire ?

Publié : sam. 10/sept./2005 20:18
par nico
Ben toujours pareil , tu fais un code simple: une fenêtre et deux gadgets et tu regrdes ce qui se passe et ainsi de suite. Tu vérifies ainsi que ça ne vient pas des Gadgets et tu continues élément après élément pour déterminer l'erreur.