Barre de status sur une fenêtre fille MDI ?

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Barre de status sur une fenêtre fille MDI ?

Message 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 ?
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message 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)
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message 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
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

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