Page 1 sur 1

[RESOLU]Fenêtre fonctionnant comme un site en frame

Publié : lun. 04/févr./2008 16:03
par Geo Trouvpatou
Bonjour tout le monde.

Comment créer une fenêtre fonctionnant comme un site en frame sans utiliser de PanelGadget.

Bon je voulais prendre le site de Michel comme exemple, mais honte à lui, il s'est modernisé :lol:.
Donc tant pis je vais prendre celui de Comtois pour l'exemple.
Allez ici.

Voilà le principe de ce j'aimerais faire.
Un menu à gauche (peu importe d'ailleurs) et le contenu à côté.
On clique sur les liens du menu et la partie contenu est modifiée.
Ceux qui ont Photoshop, c'est comme le menu des préférences.

J'ai bien essayé de faire des recherches à propos des containers, mais je ne suis pas sûr à 100% que ce soit cela qu'il faut utiliser.

Pour info j'utilise PureForm (que je trouve excellent au passage), j'ai bien mis l'un sur l'autre 2 containers de la même taille avec différents Gadgets, mais n'étant pas sûr que cela se fasse comme ça, ou que tout simplement ce style de chose ne soit pas réalisable, j'ai abandonné pour venir vous demander votre aide.

Merci.

Publié : lun. 04/févr./2008 17:57
par venom
bonjour Geo Trouvpatou,

je ne sais pas si c'est vraiment le résultat que tu cherche mais je vien de te faire sa vite fait :wink: . dit moi quoi.

Code : Tout sélectionner

;- Window Constants
Enumeration
  #Window_0
EndEnumeration

;- Gadget Constants
Enumeration
  #Frame3D_0
  #Button_0
  #Button_1
  #Button_2
  #Button_3
  #Frame3D_1
  #String_0
EndEnumeration

  If OpenWindow(#Window_0, 216, 0, 600, 300, "New window",  #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
    If CreateGadgetList(WindowID(#Window_0))
      Frame3DGadget(#Frame3D_0, 0, 0, 110, 300, "", #PB_Frame3D_Double)
      HyperLinkGadget(#Button_0, 30, 10, 60, 20, "lien n°1", RGB(0,0,255), 0)
      HyperLinkGadget(#Button_1, 30, 40, 60, 20, "lien n°2", RGB(0,0,255), 0)
      HyperLinkGadget(#Button_2, 30, 70, 60, 20, "lien n°3", RGB(0,0,255), 0)
      HyperLinkGadget(#Button_3, 30, 100, 60, 20, "lien n°4", RGB(0,0,255), 0)
      Frame3DGadget(#Frame3D_1, 120, 0, 480, 300, "", #PB_Frame3D_Double)
        
    EndIf
  EndIf

  Repeat
   EventID = WaitWindowEvent()
    If EventID = #PB_Event_Gadget 
      Select EventGadget()
      
        Case #Button_0
         EditorGadget(#String_0, 125, 5, 470, 290)
          AddGadgetItem(#String_0, 0, "bonjour,", 0)
           AddGadgetItem(#String_0, 1, "vous vennez d'appuiez sur le :", 0)
            AddGadgetItem(#String_0, 2, "lien n°1", 0)
         
        Case #Button_1
         EditorGadget(#String_0, 125, 5, 470, 290)
          AddGadgetItem(#String_0, 0, "bonjour,", 0)
           AddGadgetItem(#String_0, 1, "vous vennez d'appuiez sur le :", 0)
            AddGadgetItem(#String_0, 2, "lien n°2", 0)
         
        Case #Button_2
         EditorGadget(#String_0, 125, 5, 470, 290)
          AddGadgetItem(#String_0, 0, "bonjour,", 0)
           AddGadgetItem(#String_0, 1, "vous vennez d'appuiez sur le :", 0)
            AddGadgetItem(#String_0, 2, "lien n°3", 0)
         
        Case #Button_3
         EditorGadget(#String_0, 125, 5, 470, 290)
          AddGadgetItem(#String_0, 0, "bonjour,", 0)
           AddGadgetItem(#String_0, 1, "vous vennez d'appuiez sur le :", 0)
            AddGadgetItem(#String_0, 2, "lien n°4", 0)
         
      EndSelect
    EndIf
  Until EventID = #PB_Event_CloseWindow

@++

Publié : lun. 04/févr./2008 18:30
par Geo Trouvpatou
Salut venom.

Merci davoir pris du temps pour mon problème.
Pour te répondre, oui et non.
Ce n'est pas tout à fait ce que je cherchais.
En me cassant la tête j'ai trouvé ce que je voulais faire.
Etant débutant je ne sais pas si cela est super correct, mais ça me va.

Voici le code :

Code : Tout sélectionner

;{ Windows
Enumeration
    #Window_1
EndEnumeration
;}
;{ Gadgets
Enumeration
    #Container_01
    #Panel_cont01
    #Button_Cont01
    #Container_02
    #String_Cont2
    #Button_Menu01
    #Button_Menu02
    #Button_Cont02
EndEnumeration
;}

Procedure OpenWindow_Window_1()
    If OpenWindow(#Window_1, 408, 165, 400, 400, "Window_1", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
        If CreateGadgetList(WindowID(#Window_1))
            ButtonGadget(#Button_Menu01, 5, 34, 113, 22, "Menu 01")
            ButtonGadget(#Button_Menu02, 5, 61, 113, 22, "Menu 02")
            
            ContainerGadget(#Container_01, 134, 14, 260, 375, #PB_Container_Flat)
            ButtonGadget(#Button_Cont01, 63, 341, 131, 20, "OK")
            PanelGadget(#Panel_cont01, 17, 19, 224, 267)
            ; Etape 1
            AddGadgetItem(#Panel_cont01, -1, "Etape 1")
            ; Etape 2
            AddGadgetItem(#Panel_cont01, -1, "Etape 2")
        CloseGadgetList() ;<
        CloseGadgetList()
        
        
        ContainerGadget(#Container_02, 134, 14, 260, 375, #PB_Container_Flat)
        StringGadget(#String_Cont2, 29, 23, 208, 20, "")
        ButtonGadget(#Button_Cont02, 45, 297, 174, 23, "Valider")
        CloseGadgetList()
        
        HideGadget(#Container_01, 1) ; on camoufle d'entré sinon en passant la souris dessus le container on fait apparaitre les gadgets cachés.
    EndIf
EndIf
EndProcedure

OpenWindow_Window_1()

;{- Event loop
Repeat
    Select WaitWindowEvent()
        ; ///////////////////
        Case #PB_Event_Gadget
            Select EventGadget()
                Case #Button_Menu01  
                    HideGadget(#Container_01, 1)  
                    HideGadget(#Container_02, 0)  
                    
                Case #Button_Menu02  
                    HideGadget(#Container_02, 1)  
                    HideGadget(#Container_01, 0)  
            EndSelect
            ; ////////////////////////
        Case #PB_Event_CloseWindow
            Select EventWindow()
                Case #Window_1
                    CloseWindow(#Window_1)
                    Break
            EndSelect
    EndSelect
ForEver
;
;}
Mais ton code m'intéresse parce que je remplacerais mes boutons de menu à gauche, par ton système de lien.

Comme quoi avec 2 codes, on mouline et on en fait un seul :lol:

Merci encore, je met un résolu (si j'y arrive :roll:)

Bye.

Publié : lun. 04/févr./2008 20:07
par venom
a ok tu veut faire comme son site mais lancer des gadget a la place des texte :wink: .
moi j'ai refait son site a l'identique :wink: tu aurait du le précise que tu souhaité mètre des gadget. :wink: .

Code : Tout sélectionner

;- Window Constants
Enumeration
  #Window_0
EndEnumeration

;- Gadget Constants
Enumeration
  #Frame3D_0
  #Button_0
  #Button_1
  #Button_2
  #Button_3
  #Frame3D_1
  #String_0
  #ExplorerList_0
  #TrackBar_0
EndEnumeration

  If OpenWindow(#Window_0, 216, 0, 600, 300, "New window",  #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
    If CreateGadgetList(WindowID(#Window_0))
      Frame3DGadget(#Frame3D_0, 0, 0, 110, 300, "", #PB_Frame3D_Double)
      HyperLinkGadget(#Button_0, 30, 10, 60, 20, "lien n°1", RGB(0,0,255), 0)
      HyperLinkGadget(#Button_1, 30, 40, 60, 20, "lien n°2", RGB(0,0,255), 0)
      HyperLinkGadget(#Button_2, 30, 70, 60, 20, "lien n°3", RGB(0,0,255), 0)
      HyperLinkGadget(#Button_3, 30, 100, 60, 20, "lien n°4", RGB(0,0,255), 0)
      Frame3DGadget(#Frame3D_1, 120, 0, 480, 300, "", #PB_Frame3D_Double)
        
    EndIf
  EndIf

  Repeat
   EventID = WaitWindowEvent()
    If EventID = #PB_Event_Gadget 
      Select EventGadget()
      
        Case #Button_0
        ExplorerListGadget(#ExplorerList_0, 121, 1, 0, 0, "*.*", #PB_Explorer_MultiSelect)
         EditorGadget(#String_0, 125, 5, 470, 290)
          AddGadgetItem(#String_0, 0, "bonjour,", 0)
           AddGadgetItem(#String_0, 1, "vous vennez d'appuiez sur le :", 0)
            AddGadgetItem(#String_0, 2, "lien n°1", 0)
         
        Case #Button_1
         EditorGadget(#String_0, 125, 5, 0, 0)
          ExplorerListGadget(#ExplorerList_0, 121, 1, 480, 300, "*.*", #PB_Explorer_MultiSelect)
         
        Case #Button_2
         ExplorerListGadget(#ExplorerList_0, 121, 1, 0, 0, "*.*", #PB_Explorer_MultiSelect)
          EditorGadget(#String_0, 125, 5, 0, 0)
           TrackBarGadget(#TrackBar_0, 125,  40, 250, 20, 0, 10000)
         
        Case #Button_3
         EditorGadget(#String_0, 125, 5, 470, 290)
          AddGadgetItem(#String_0, 0, "bonjour,", 0)
           AddGadgetItem(#String_0, 1, "vous vennez d'appuiez sur le :", 0)
            AddGadgetItem(#String_0, 2, "lien n°4", 0)
         
      EndSelect
    EndIf
  Until EventID = #PB_Event_CloseWindow
voila


@++

Publié : lun. 04/févr./2008 21:55
par Geo Trouvpatou
Désolé si je me suis mal fait comprendre.

En tout cas je viens de m'apercevoir d'un truc, c'est que l'on pouvait mettre des Frame3DGadget sans texte.

Bye.