salutcava a écrit :Je trouve Form Designer très bien, il fait ce qu'on lui dit de faire.
■Il est insupportable c'est de voir que le fichier associé à la modélisation d'une fenêtre change de code si on passe ces fichiers à un utilisateur de Pure Basic qui utilise Form Designer avec un paramétrage différent du votre !!!
Ce code sur un poste 1
Code : Tout sélectionner
Enumeration #PB_Compiler_EnumerationValue
#Mainform
EndEnumeration
Procedure OpenMainform(x = 0, y = 0, width = 600, height = 400)
OpenWindow(#Mainform, x, y, width, height, "", #PB_Window_SystemMenu)
EndProcedure
Procedure Mainform_Events(event)
Select event
Case #PB_Event_CloseWindow
ProcedureReturn #False
Case #PB_Event_Menu
Select EventMenu()
EndSelect
Case #PB_Event_Gadget
Select EventGadget()
EndSelect
EndSelect
ProcedureReturn #True
EndProcedure
Peut être lu sur une Poste 2 de cette manière
Code : Tout sélectionner
Enumeration #PB_Compiler_EnumerationValue
#Mainform
EndEnumeration
Procedure OpenMainform(x = 0, y = 0, width = 600, height = 400)
OpenWindow(#Mainform, x, y, width, height, "", #PB_Window_SystemMenu)
EndProcedure
Pourquoi déclarer une fenêtre en précisant les paramètres de positionnement et de dimension ?
■Insérer des procédures dans la gestion des événements d'une fenêtre relève parfois du casse tête si la procédure n'est pas déclarée avant la déclaration de la fenêtre dans le code principale de l'application.
■Form Designer permet d'alterner du mode modélisation au mode code. Essayez d'insérer du code au sein de votre fenêtre pour voir ce qu'il se passe quand vous passez de nouveau dans le mode modélisation.
■Enregistrer ce code sous le nom de fenetre.pbf puis fermer l'onglet et ouvrer le à nouveau.
Code : Tout sélectionner
Enumeration #PB_Compiler_EnumerationValue
#Button_1
#Button_2
EndEnumeration
Procedure OpenMainform(x = 0, y = 0, width = 600, height = 400)
OpenWindow(#Mainform, x, y, width, height, "", #PB_Window_SystemMenu)
ButtonGadget(#Button_1, 470, 30, 120, 20, "Button 1")
ButtonGadget(#Button_2, 470, 70, 120, 20, "Button 2")
SetGadgetState(#button_2, #True)
EndProcedure
SetGadgetState(#button_2, #True) à tout simplement disparu !!.
■Insérer du code manuellement dans une fenêtre peut rendre votre fenêtre illisible par Form Designer voir même provoquer la perte du code au profit d'un code d'une fenêtre par défaut.
■Form Designer est encore trop bugué et peut dissuader un nouvel utilisateur à acquérir une licence Pure Basic. Un exemple de bug tres con. Sélectionner l'icone statusbar et placer la dans votre fenêtre. Enregistrer, fermer et ouvrer à nouveau votre fenêtre : Pas de statusbar.
Je sais qu'on va me répondre que j'utilise mal Form Designer
Contrairement à ce que dit salutcava, Form Designer ne fait pas ce qu'on lui dit de faire.