Page 2 sur 2

Publié : dim. 11/avr./2004 17:49
par Le Soldat Inconnu
Non, j'en suis resté au 2ème code :(

du coup, j'ai carrément dessiné la barre de titre dans mon prog, donc la barre de titre de win, à la trappe et plus de problème :mrgreen:

Publié : dim. 11/avr./2004 18:02
par Jean-Paul
Le Soldat Inconnu a écrit :Non, j'en suis resté au 2ème code :(

du coup, j'ai carrément dessiné la barre de titre dans mon prog, donc la barre de titre de win, à la trappe et plus de problème :mrgreen:
Je viens de trouver une API qui me convient dans mon cas

EnableWindow_(WindowE,#false) pour desactiver
EnableWindow_(WindowE,#True) pour activer

Publié : ven. 16/avr./2004 8:21
par brossden
Bonjour

Il me semble sauf erreur que l'API : UpdateWindow_(GadgetID(#Window_0)) , convient trés bien pour rafraichir une fenêtre, mais je suis peut être hors sujet !

Exemple

Code : Tout sélectionner


Enumeration
  #Window_0
EndEnumeration

Enumeration
  #Listview_0 : #Button_0 : #Button_1
EndEnumeration


Procedure Open_Window_0()
  If OpenWindow(#Window_0, 527, 182, 234, 518,  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar , "Régénération")
    If CreateGadgetList(WindowID())
      ListViewGadget(#Listview_0, 15, 10, 190, 440)
      ButtonGadget(#Button_0, 15, 465, 80, 35, "Avec Régenération", #PB_Button_MultiLine)
      ButtonGadget(#Button_1, 125, 465, 80, 35, "Sans Régénération", #PB_Button_MultiLine)
    EndIf
  EndIf
EndProcedure

Open_Window_0()

Repeat
  
  Event = WaitWindowEvent()
  If Event = #PB_EventGadget
    GadgetID = EventGadgetID()
    If GadgetID = #Button_0
      ClearGadgetItemList(#Listview_0)        
      For n=1 To 50
        AddGadgetItem(#Listview_0,-1,"Ligne N° "+Str(n))
        
        ;*********************************" REGENERATION ECRAN "******************************* 
        UpdateWindow_(GadgetID(#Window_0)) 
        ;**************************************************************************************        
        
        Delay(20)
      Next
    ElseIf GadgetID = #Button_1
      ClearGadgetItemList(#Listview_0)
      For n=1 To 50
        AddGadgetItem(#Listview_0,-1,"Ligne N° "+Str(n))
        Delay(20)
      Next
    EndIf
  EndIf
Until Event = #PB_EventCloseWindow
End



Publié : ven. 16/avr./2004 14:58
par Le Soldat Inconnu
Totalement :mrgreen: car dans mon cas, je suis avec des relations fenêtre parents/enfants ayant des processus différents.
voir le premier code du sujet et tu comprendras vite le problème.

Publié : ven. 16/avr./2004 22:39
par Le Soldat Inconnu
j'ai trouvé, maintenant que j'ai tous finis :cry:
soit je laisse comme c'est, soit je modifie mon logiciel :roll: je me tate :lol:

Code : Tout sélectionner

Delay(1000)

WindowE = GetForegroundWindow_() 

OpenWindow(0, 200, 200, 500, 500, #PB_Window_SystemMenu | #WS_CLIPCHILDREN, "Options") 

SetWindowLong_(WindowE, #GWL_STYLE, GetWindowLong_(WindowE, #GWL_STYLE) | #WS_CHILD | #WS_CLIPCHILDREN)
SetParent_(WindowE, WindowID()) 

Repeat 
  Event = WaitWindowEvent() 
  
Until Event = #WM_CLOSE 

SetWindowLong_(WindowE, #GWL_STYLE, GetWindowLong_(WindowE, #GWL_STYLE) ! #WS_CHILD) 
SetParent_(WindowE, 0)
attention, désactivé le debugger pour tester.