Fenêtre modale
Fenêtre modale
Bonjour,
J'aimerais ouvrir une fenêtre modale à partir d'une autre fenêtre
(pour moi une fenêtre modale est une fenêtre qui oblige l'utilisateur à la fermer pour revenir sur la fenêtre principale)
j'ai trouvé une astuce sur le forum qui consiste à utiliser un EnableWindow_ mais apparement cette fonction n'existe plus...
J'aimerais ouvrir une fenêtre modale à partir d'une autre fenêtre
(pour moi une fenêtre modale est une fenêtre qui oblige l'utilisateur à la fermer pour revenir sur la fenêtre principale)
j'ai trouvé une astuce sur le forum qui consiste à utiliser un EnableWindow_ mais apparement cette fonction n'existe plus...
Quelques manoucheries : I can't give you anything but love / Stompin' at decca
ah oui j'oubliais, je suis en v3.94 

Quelques manoucheries : I can't give you anything but love / Stompin' at decca
ah zut,bombseb a écrit :ah oui j'oubliais, je suis en v3.94
Mais bon c'est tout pareil sauf que tu utilises EnableWindow_() à la place de DisableWindow() c'est tout.
Tu dis que la fonction n'existe plus, c'est bien étonnant parceque je programme avec les 2 versions et EnableWindow_() je m'en sers tout le temps en 3.94
oui je ne comprends pas cette fonction je ne l'ai pas....
bon sinon j'ai réussi en bidouillant mais bof :
Dans l'evenement #PB_Event_ActivateWindow de ma fenêtre appellante je met ca lorsqu'un booleen qui indique si ma fenêtre modale est ouverte :
UseWindow (#MaFenetreModale)
ActivateWindow ()
mais bon c'est du bidouillage....
bon sinon j'ai réussi en bidouillant mais bof :
Dans l'evenement #PB_Event_ActivateWindow de ma fenêtre appellante je met ca lorsqu'un booleen qui indique si ma fenêtre modale est ouverte :
UseWindow (#MaFenetreModale)
ActivateWindow ()
mais bon c'est du bidouillage....
Quelques manoucheries : I can't give you anything but love / Stompin' at decca
essaye çà pour 3.94 :
mais es-tu bien sûr que EnableWindow_() ne fonctionne pas ???
essayes çà pour voir quand même :
Code : Tout sélectionner
Procedure DisableWindow394(window.l, state.l)
Protected id.l, ret.l
id = OpenLibrary(#PB_Any, "user32.dll")
If id
ret = CallFunction(id, "EnableWindow", WindowID(window), #True-state)
CloseLibrary(id)
EndIf
ProcedureReturn ret
EndProcedure
If OpenWindow(0, 100, 100, 640, 480, #PB_Window_SystemMenu, "mère")
If CreateGadgetList(WindowID(0))
ButtonGadget(0, 10, 10, 120, 25, "fille")
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Debug DisableWindow394(0, #True)
If OpenWindow(1, 150, 150, 320, 240, #PB_Window_SystemMenu, "fille", WindowID(0))
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
CloseWindow(1)
EndIf
Debug DisableWindow394(0, #False)
Case #PB_Event_CloseWindow
Break
EndSelect
ForEver
EndIf
mais es-tu bien sûr que EnableWindow_() ne fonctionne pas ???
essayes çà pour voir quand même :
Code : Tout sélectionner
If OpenWindow(0, 100, 100, 640, 480, #PB_Window_SystemMenu, "mère")
If CreateGadgetList(WindowID(0))
ButtonGadget(0, 10, 10, 120, 25, "fille")
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Debug EnableWindow_(WindowID(0), #False)
If OpenWindow(1, 150, 150, 320, 240, #PB_Window_SystemMenu, "fille", WindowID(0))
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
CloseWindow(1)
EndIf
Debug EnableWindow_(WindowID(0), #True)
Case #PB_Event_CloseWindow
Break
EndSelect
ForEver
EndIf
oh !
ton code marche !!
alors c'est bizarre ca veux dire que la fonction EnableWindow_ existe mais n'est pas dans l'aide
bon bah merci, je vais utiliser ca alors
ton code marche !!
alors c'est bizarre ca veux dire que la fonction EnableWindow_ existe mais n'est pas dans l'aide

bon bah merci, je vais utiliser ca alors

Quelques manoucheries : I can't give you anything but love / Stompin' at decca
ah non j'ai bu
non en fait ca compile bien, mais la fonction EnableWindow_ n'a aucun effet...
EDIT : bon décidement : non ton prog marche tres bien.... j'ai du merder dans mon prog

non en fait ca compile bien, mais la fonction EnableWindow_ n'a aucun effet...
EDIT : bon décidement : non ton prog marche tres bien.... j'ai du merder dans mon prog
Quelques manoucheries : I can't give you anything but love / Stompin' at decca
me semblait bien
par contre, c'est tout à fait normal que tu EnableWindow_() ne soit pas dans l'aide puisque comme toute fonction terminant par '_' il s'agit d'une fonction système (API Win32).
Donc il faut pour regarder l'aide avoir win32.chm ou voir ici tout simplement :
http://msdn.microsoft.com/library/defau ... window.asp
[EDIT]
au fait, enlève les debug quand tu compiles.
parceque sinon ces lignes ne seront pas prisent en compte par le compilateur, et donc une fois compilé bah oui ca marche plus.

par contre, c'est tout à fait normal que tu EnableWindow_() ne soit pas dans l'aide puisque comme toute fonction terminant par '_' il s'agit d'une fonction système (API Win32).
Donc il faut pour regarder l'aide avoir win32.chm ou voir ici tout simplement :
http://msdn.microsoft.com/library/defau ... window.asp
[EDIT]
au fait, enlève les debug quand tu compiles.
parceque sinon ces lignes ne seront pas prisent en compte par le compilateur, et donc une fois compilé bah oui ca marche plus.

okok merci pour tout tes tuyau... d'ailleur je ne savait pas que les fonctions terminant par un _ était en fait des api windows.....
bon bah voilà ce que j'ai fait :
bon bah voilà ce que j'ai fait :
Code : Tout sélectionner
IncludeFile "winlib.pb"
Procedure Options (ParentWindow)
EnableWindow_(WindowID (ParentWindow), #False)
Repeat
EventID = WaitWindowEvent ()
; ****************************
; **** Options ****
; ****************************
If EventID = #PB_EventGadget
Select EventGadgetID ()
Case #Button_Annuler ; ***** Quitter les options..*****
EventID = #PB_Event_CloseWindow
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow
CloseWindow (#Window_Options)
EnableWindow_(WindowID (ParentWindow), #True)
UseWindow (ParentWindow)
ActivateWindow ()
EndProcedure
Open_Window_Main ()
Repeat
EventID = WaitWindowEvent ()
; ****************************
; **** Fenêtre principale ****
; ****************************
Select EventID
Case #PB_Event_Gadget
Select EventGadgetID ()
Case #Button_Options ; ***** Options *****
Open_Window_Options ()
Options (#Window_Main)
Case #Button_Quitter ; ***** Quit..*****
EventID = #PB_Event_CloseWindow
EndSelect
EndSelect
Until EventID = #PB_Event_CloseWindow
Quelques manoucheries : I can't give you anything but love / Stompin' at decca