Le Concepteur de fenêtre (Form)

L'IDE du PureBasic a un concepteur de fenêtre (formulaire) très puissant et intégré à l'éditeur, qui permet de créer et d'organiser des gadgets sur une fenêtre. Il supporte presque tous les gadgets, les menus et même les barres d'état. Un fichier de formulaire est un fichier PureBasic, de sorte qu'il peut être facilement modifié sans même ouvrir le concepteur de formulaire. L'analyseur de code n'est pas le même que celui utilisé par le compilateur, donc il ne prend pas en charge toutes les fonctions PureBasic, alors quand on fait des modifications manuelles dans un fichier formulaire, elles doivent rester basique.

Menu "Form":

Nouveau Form
Crée un nouveau formulaire vide. Noter que l'onglet "Form" appelé panneau de conception muni de ses gadgets standards apparait automatiquement.

Changer vue Code/Design
Change la vue du formulaire. Cela permet de passer du mode de conception au mode écriture de code. Un formulaire est construit à partir du code, donc si une modification est apportée directement en mode code, il sera traduit visuellement.

Duplicer l'objet
Duplique l'objet sélectionné.

Manager d'image



Affiche toutes les images actuellement utilisées par le formulaire. L'image et son chemin peuvent être changés facilement ici.

Panneau de conception

Ce panneau liste tous les gadgets disponibles. Sélectionnez-en un, et de dessinez-le directement sur le formulaire. Lorsqu'un gadget est sélectionné sur le formulaire, ses propriétés sont afficher sur le panneau et peuvent être modifiées.

Utilisation du concepteur de formulaire dans un projet

Le concepteur du formulaire a été créé pour permettre la création et la maintenance aisée de formulaires de façon modulaires. Chaque formulaire doit avoir son propre fichier. Il ne peut pas y avoir deux formulaires dans un même fichier (en d'autres termes, il ne faut jamais avoir deux OpenWindow() dans le même fichier). Une procédure d'événement peut être attribué à tous les gadgets, et sera traitée automatiquement dans la boucle d'événements. Les procédures d'événements doivent être définies quelque part dans le code source.
Chaque fichier de formulaire devrait être nommé avec l'extension '.pbf', pour être correctement ouvert par l'IDE. Les fichiers de formulaire ('.pbf') peuvent également être ajoutés dans un projet.

Par exemple, pour construire un programme qui gèrent deux fenêtres, il va falloir créer deux fichiers de formulaire et un fichier principal. La structure du projet pourrait ressembler à ça :
  Main.pb        ; Le fichier principal qui inclut les liens vers les deux fichiers de formulaire,
                 ; ainsi que le code des événements
  MainWindow.pbf ; La fenêtre principale
  DateWindow.pbf ; Une autre fenêtre
Si nous supposons que MainWindow.pbf dispose de deux boutons ('OK' et 'Annuler') et que DateWindow.pbf contient un gadget cadendrier, voici à quoi le fichier principal devrait ressembler (le fichier principal n'est pas géré par le concepteur de formulaire, il doit être écrit manuellement):
  XIncludeFile "MainWindow.pbf" ; Inclusion de la première fenêtre
  XIncludeFile "DateWindow.pbf" ; Inclusion de la seconde fenêtre
  
  OpenMainWindow() ; Création de la première fenêtre. Ce nom de procédure est toujours 'Open' suivi du nom de la fenêtre
  OpenDateWindow() ; Création de la seconde fenêtre
  
  ; Les procédures d'événements, tels que spécifiées dans la propriété 'procédure événement' de chaque gadget
  Procedure OkButtonEvent(EventType)
    Debug "Evénement Bouton OK"
  EndProcedure
  
  Procedure CancelButtonEvent(EventType)
    Debug "Evénement Bouton Annuler"
  EndProcedure
  
  Procedure TrainCalendarEvent(EventType)
    Debug "Evénement Calendrier"
  EndProcedure
  
  ; La boucle principale, comme d'habitude, le seul changement est l'appel de la procédure 
  ; événementielle automtiquement générée pour chaque fenêtre.
  Repeat
    Event = WaitWindowEvent()
    
    Select EventWindow()
      Case MainWindow
        MainWindow_Events(Event) ; Le nom de la procédure est toujours le nom de la fenêtre suivi de '_Events'
        
      Case DateWindow
        DateWindow_Events(Event)
        
    EndSelect
    
  Until Event = #PB_Event_CloseWindow ; Ferme toutes les fenêtres en quittant l'une d'elle
Comme on le voit, il est facile d'intégrer des formulaire dans un programme. De plus, il est également possible de continuer à créer une fenêtre manuellement aussi. Pour avoir tout le contrôle sur le code généré, il suffit de passer en mode code.