Petit bug du MDI gadget (le #PB_EventType_SizeItem)

Archive.
Gratteur
Messages : 147
Inscription : ven. 22/avr./2005 23:02

Petit bug du MDI gadget (le #PB_EventType_SizeItem)

Message par Gratteur »

Je tiens juste à signaler ce bug dans un MDI gadget quand on a plus d'une fenetre et que l'on veux redimentionner les fenetre filles (sauf la première qui fonctionne normalement) :
On fait :
WindowEvent() = #PB_Event_Gadget
Puis :
EventType() = #PB_EventType_SizeItem

Mais le résultat de :
resultat = GetGadgetAttribute(#Gadget, #PB_MDI_SizedItem)
N'est presque jamais le bon, ce qui fait qu'on ne peut pas redimentionner les gadgets contenus à l'interrieur de la bonne fenêtre fille.

Si on gère le MDI, on peut toujours utiliser un code dans ce genre (à la place de GetGadgetAttribute(#Gadget, #PB_MDI_SizedItem)) pour dépanner, mais bon... :

Au début on crée une liste Fille()
Et on enregistre au bon endroit la hauteur et largeur de la fenetre fille i gadget :
Fille()\largeur = GetGadgetItemAttribute(#Gadget, i, #PB_MDI_ItemWidth)
Fille()\hauteur = GetGadgetItemAttribute(#Gadget, i, #PB_MDI_ItemHeight)
Puis on utilise ça pour vérifier quelle fenêtre à été modifiée :

Code : Tout sélectionner

FirstElement(Fille())
Repeat 
  If GetGadgetItemAttribute(#Gadget, i, #PB_MDI_ItemWidth) <> Fille()\largeur Or GetGadgetItemAttribute(#Gadget, i, #PB_MDI_ItemHeight) <> Fille()\hauteur
    Break
  EndIf
  NextElement(Fille())
  i+1
ForEver
Fille()\largeur = GetGadgetItemAttribute(#Gadget, i, #PB_MDI_ItemWidth)
Fille()\hauteur = GetGadgetItemAttribute(#Gadget, i, #PB_MDI_ItemHeight)
resultat = ListIndex(Fille())