Page 1 sur 1

Barre de status sur une fenêtre fille MDI ?

Publié : sam. 14/août/2004 13:18
par comtois
Resultat = CreateStatusBar(#StatusBar, WindowID)
Apparemment j'aurais besoin de WindowID , mais comment l'obtenir avec une fenêtre fille d'un gadget MDI ?

Publié : sam. 14/août/2004 13:28
par Chris
Tu peux récupérer le handle de la fenêtre fille quand tu fais AddGadgetItem() pour ajouter une fenêtre fille.

Le problème, c'est de gérer tout les handles des fenêtres filles.
Avec un tableau, peut-être !

Code : Tout sélectionner

    MDIGadget(0, 0, 0, 0, 0, 1, 2, #PB_MDI_AutoSize) 
    Id1 = AddGadgetItem(0, -1, "child window")
    CreateStatusBar(10, Id1)

Publié : sam. 14/août/2004 13:52
par Chris
Un truc dans ce genre là, (en remplacant la boucle qui crée les différentes fenêtres par une commande).

Code : Tout sélectionner

Enumeration
  #Fenetre
  #Status = 100
EndEnumeration


Dim Fenetres.l(50)

If OpenWindow(0,0,0,400,300,#PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_SizeGadget|#PB_Window_MaximizeGadget,"MDIGadget")
  If CreateGadgetList(WindowID(0)) And CreateMenu(0, WindowID(0))
    MenuTitle("Menu index 0")
    MenuTitle("MDI windows menu")
    MenuItem(0, "self created item")
    MenuItem(1, "self created item")

    MDIGadget(#Fenetre, 0, 0, 0, 0, 1, 2, #PB_MDI_AutoSize)

    For i = 0 To 5
      Fenetres(i) = AddGadgetItem(#Fenetre, i, "child window "+Str(i))
      CreateStatusBar(#Status + i, Fenetres(i))
    Next

    ; add gadgets here...
    CloseGadgetList()

  EndIf
  Repeat
    Select EventType()
      Case #PB_EventType_Focus
        SetWindowTitle(#Fenetre, "Fenêtre active = "+ Str(GetGadgetState(#Fenetre))+"  Hnd = "+Str(Fenetres(GetGadgetState(#Fenetre))))
    EndSelect


  Until WaitWindowEvent()=#PB_Event_CloseWindow
EndIf

Publié : sam. 14/août/2004 15:19
par comtois
Chris a écrit :Tu peux récupérer le handle de la fenêtre fille quand tu fais AddGadgetItem() pour ajouter une fenêtre fille.

Le problème, c'est de gérer tout les handles des fenêtres filles.
Avec un tableau, peut-être !
Merci Chris

La doc conseille d'utiliser une liste chainée , je vais voir ce qui sera le plus pratique dans mon cas .

Encore merci :)