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

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Geo Trouvpatou
Messages : 471
Inscription : dim. 23/déc./2007 18:10

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

Message 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.
Dernière modification par Geo Trouvpatou le lun. 04/févr./2008 18:39, modifié 1 fois.
Avatar de l’utilisateur
venom
Messages : 3128
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message 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

@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Geo Trouvpatou
Messages : 471
Inscription : dim. 23/déc./2007 18:10

Message 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.
Avatar de l’utilisateur
venom
Messages : 3128
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message 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


@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Geo Trouvpatou
Messages : 471
Inscription : dim. 23/déc./2007 18:10

Message 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.
Répondre