Lib OpenDialog
Publié : mar. 21/sept./2004 18:12
J'ai fait une petite Lib qui simule Une boite de dialogue qui n'est autre qu'une fenêtre créée par Pure, donc toutes les commandes habituelles peuvent être utilisées, mais pour fermer cette fenêtre il ne faudra pas utiliser CloseWindow() mais CloseDialog().
Il n'y a que deux commandes:
-Dialog=OpenDialog(#Fenetre,LargeurInterne, HauteurInterne,Titre$,Fenêtre_Mère,Option)
Comme vous pouvez le remarquer, il n'y a pas de position x et y puisque la pseudo Boite de Dialogue est centrée soit par rapport à la fenêtre mère, soit par rapport au Bureau, par la variable Option, respectivement 0 (Fenêtre Mère) ou 1 (Bureau).
La valeur de retour est différent de 0 en cas de réussite où bien le nouvel identifiant de la boite de dialogue si vous utilisez #Pb_Any
-CloseDialog(#Fenêtre)
Détruit la boite de dialogue, rien ne vous empêche de la cacher
Un petit exemple pour essayer:
Le lien pour telecharger la librairie
Je n'ai fait des essais que sur Window XP SP1
Laissez moi vos impressions
Il n'y a que deux commandes:
-Dialog=OpenDialog(#Fenetre,LargeurInterne, HauteurInterne,Titre$,Fenêtre_Mère,Option)
Comme vous pouvez le remarquer, il n'y a pas de position x et y puisque la pseudo Boite de Dialogue est centrée soit par rapport à la fenêtre mère, soit par rapport au Bureau, par la variable Option, respectivement 0 (Fenêtre Mère) ou 1 (Bureau).
La valeur de retour est différent de 0 en cas de réussite où bien le nouvel identifiant de la boite de dialogue si vous utilisez #Pb_Any
-CloseDialog(#Fenêtre)
Détruit la boite de dialogue, rien ne vous empêche de la cacher
Un petit exemple pour essayer:
Code : Tout sélectionner
Procedure DIALOG()
Shared Dialog
Dialog=OpenDialog(#PB_Any,200,100,"Simulation Boite de Dialogue",1,0)
If CreateGadgetList(WindowID(Dialog))
StringGadget(2,10, 10,180,20,"Normal StringGadget...")
ButtonGadget(3,10,60,180,20,"OK")
EndIf
EndProcedure
OpenWindow(1,200,200,400,400,#PB_Window_SystemMenu,"Fenêtre principale")
If CreateGadgetList(WindowID(1))
ButtonGadget(0,10,10,180,20,"Dialog")
EditorGadget (1,10,40,380,380,#PB_Container_Raised)
EndIf
Repeat
EventID.l=WaitWindowEvent()
Select EventID
Case #PB_EventGadget
Select EventGadgetID()
Case 0
DIALOG()
Case 3
texte.s=GetGadgetText(2)
SetGadgetText(1,texte)
CloseDialog(Dialog)
EndSelect
Case #WM_CLOSE
Quit=1
EndSelect
Until Quit=1
Je n'ai fait des essais que sur Window XP SP1
Laissez moi vos impressions
