<< Retour au sommaire

 

Les fenêtres & les gadgets

 

 

 

Le sommaire :

1.      Introduction ;

2.      Le code minimal d’une fenêtre ;

3.      Les gadgets

3.1  Présentation du gadget ;

3.2  Le gadget de type texte ;

3.3  Le gadget de type bouton ;

3.4  Le gadget de type zone de texte simple ;

3.5  Le gadget de type éditeur ;

3.6  Le gadget de type Web ;

3.7  Le gadget de type Case à cocher ;

3.8  Le gadget de type Image ;

3.9  Le gadget de type zone de liste déroulante ;

3.10                     Le gadget de type vue de liste ;

4.      La bulle d’aide du gadget.

 

Introduction

 

Une fenêtre est le principal objet de la partie du programme dite « interface-utilisateur ».

 

Grâce aux fenêtres, le dialogue va devenir possible entre l’utilisateur et le noyau du programme, une fenêtre pouvant s’afficher sous des formes différentes :

A.     La fenêtre principale de l’application, (l’espace de travail) ;

B.     Des boîtes de dialogues ;

C.     Des boîtes de messages, (avertissements, confirmations, erreurs etc.).

 

Quel est le principe de base de l’affichage d’une fenêtre ?

  1. Définir et afficher la fenêtre ;
  2. Définir et afficher le contenu de la fenêtre, les gadgets ;
  3. Figer l’affichage de la fenêtre en piégeant l’exécution du programme dans une boucle ;
  4. Dans la boucle, prévoir tous les traitements adéquats par le biais du principe d’analyse d’évènements.

 

Et oui, durant le manège infernal de la boucle, itération par itération, le système va générer des codes qui indiqueront les actions réalisées dans la fenêtre par l’utilisateur.

Dans le corps de la boucle, il suffira d’analyser ces codes afin d’identifier la nature des actions que l’on va d’ailleurs dès maintenant nommer « évènements », pour en définir les traitements appropriés. DE plus, il sera assez aisé d’identifier la nature des évènements puisque les codes évènementiels sont associés à des constantes intégrées à PureBasic, des constantes dont les intitulés désignent clairement les évènements.

Un évènement, c’est par exemple « un clic sur la croix du menu système ».

 

Un ou plusieurs évènements seront d’ailleurs utilisés comme conditions de sortie de la boucle, en d’autres termes, la fermeture de la fenêtre !

 

La syntaxe :

 

Constante_ID

OpenWindow (Constante_ID,Abscisse,Ordonnée,Largeur,Hauteur,Titre,#PB_Window_SystemMenu)

Repeat

Until Evènement_de_fin

 

La description

 

Constante_ID

-         C’est la déclaration d’une constante qui va permettre de fixer un ID sur la fenêtre, l’ID étant un code de type entier permettant au système d’identifier la fenêtre. Au début, nous nous contenterons de la valeur 0 ;

 

OpenWindow

-         C’est l’instruction qui permet de déclarer l’ouverture de la fenêtre dont la définition est une suite de propriétés passées en paramètres.

Détails des paramètres :

  1. L’ID de la fenêtre, donc la constante précédemment déclarée ;
  2. L’abscisse, la position horizontale de l’angle haut-gauche par rapport à la bordure gauche de l’écran, exprimée en pixels ;
  3. L’ordonnée, la position verticale de l’angle haut-gauche par rapport à la bordure supérieure de l’écran, exprimée en pixels ;
  4. Largeur, c’est la largeur de la fenêtre exprimée en pixels ;
  5. Hauteur, c’est la hauteur de la fenêtre exprimée en pixels ;
  6. Titre, c’est le texte qui sera affiché dans la barre de titre ;
  7. #PB_Window_SystemMenu, c’est la constante permettant de fixer un menu système, « réduire », « agrandir », « fermer » etc.

 

Ensuite vient la boucle « Repeat Until » dont la condition de sortie est le déclenchement d’un évènement, telle que « la validation de la commande Fermer du menu système ».

 

La fonction « WaitWindowEvent » retourne le code du dernier évènement.

Il vous suffira alors d’affecter l’exécution de cette fonction dans une variable, par exemple dans la variable « evenement », et ce bien sûr dans le corps de la boucle, et vous disposerez d’une « variable miracle » qui vous permettra d’établir le choix des traitements à exécuter, ainsi que la condition de sortie de la boucle, donc, de la fermeture de la fenêtre !

 

Concernant le code des différents évènements, ne vous inquiétez pas, il existe des constantes toutes prêtes qui sont assez parlantes, par exemple :

#PB_Event_CloseWindow

-         Qui je signale au passage, donne la traduction suivante,« PureBasic évènement Fermeture Fenêtre ».

 

Allez, un exemple, ça vous dit ?

 


Le code minimal d’une fenêtre

 

Dans le code qui suit, prenez d’ores et déjà connaissances de ceci :

#ID_fenetre sera la constante qui représentera l’ID de la fenêtre ;

Evenement sera la variable qui contiendra l’évènement qui vient d’être capturé.

 

Remarque :

·        La fermeture de la fenêtre étant l’évènement choisi pour l’arrêt de la boucle, il faudra réaliser le raccourci ALT +F4 ou passer par le menu système par le biais du raccourci clavier ALT +ESPACE.

 

1.      #ID_fenetre = 0 ; Déclaration d'une constante pour l'ID de la fenêtre

2.      ; Ouverture d'une fenêtre

3.      OpenWindow (#ID_fenetre,200,200,300,300,"Decouverte du PureBasic",#PB_Window_SystemMenu)

4.      Repeat ; Boucle jusqu'à ce que l'évènement soit celui de la fermeture de la fenêtre

5.      Evenement = WaitWindowEvent () ; Affectation du type d'évènements dans la variable Evenement

6.      Until Evenement = #PB_Event_CloseWindow

7.      End

 

Ah oui, le mot clé “End” termine l’exécution du programme…

 

Télécharger le fichier exemple, Source28.pb >>

 

La combinaison de constantes :

Grâce à la barre verticale, « | », ALT GR +6 du pavé alphanumérique, il vous est donné la possibilité de combiner plusieurs constantes dans le dernier paramètre de « OpenWindow », et aussi dans les gadgets.

Sachant par exemple que la constante #PB_Windows_ScreenCentered permet de centrer la fenêtre à l’écran, vous pouvez écrire :

OpenWindow (#ConstanteID,0,0,700,700,"Titre de la fenêtre ici",

#PB_Window_SystemMenu|#PB_Window_ScreenCentered)


Les gadgets

 

Présentation du gadget

 

Il est clair que l’affichage d’une fenêtre complètement vide, manque sérieusement d’intérêt !

Les différents objets que nous allons pouvoir intégrer dans une fenêtre sont les gadgets.

Un gadget peut être un texte, une liste, un bouton, une case à cocher etc.…

 

Comme un gadget est en quelle que sorte une sous fenêtre de la fenêtre principale, on peut d’ores et déjà en déduire que sa création au niveau du code est un peu similaire.

 

Par conséquent, on commence par déclarer une constante qui jouera le rôle d’ID pour identifier le gadget.

 

Puis, si vous tournez avec un vieil éditeur PureBasic, il faudra insérer une ligne qui déclare l’utilisation de gadgets, cette ligne est :

CreateGadgetList (WindowID (#ID_fenetre))

#ID_fenetre étant ici la constante qui représente l’ID de la fenêtre

 

Bon, voyons                            maintenant les différents gadgets que propose PureBasic !

 


Le gadget de type texte

 

La syntaxe :

Constante_ID

TextGadget (Constante_ID,abscisse,ordonnée,largeur,hauteur, »le texte libre »)

 

La description :

Constante_ID

-         C’est la déclaration de l’ID du gadget, par exemple :

ID_texte = 0

 

TextGadget

-         C’est la fonction qui définit le gadget de type texte et qui peut recevoir en paramètres les propriétés suivantes :

1.      L’ID du gadget, représenté par la constante préalablement déclarée ;

2.      L’abscisse, la position horizontale en pixel depuis la bordure gauche de la fenêtre ;

3.      L’ordonnée, la position verticale en pixel depuis la bordure supérieure de la fenêtre ;

4.      Largeur en pixel du gadget ;

5.      Hauteur en pixel du gadget ;

6.      Le texte libre à afficher.

 

Voici un exemple :

 

  1. #ID_fenetre = 0 ; Déclaration d'une constante pour l'ID de la fenêtre
  2. #ID_texte = 0 ; Déclaration d'une constante pour l'ID du gadget de type texte
  3. ; Ouverture d'une fenêtre
  4. OpenWindow (#ID_fenetre,200,200,300,300,"Découverte du PureBasic",#PB_Window_SystemMenu)
  5. TextGadget (#ID_texte,10,10,200,50,"Je vous souhaite la bienvenue dans l'apprentissage du PureBasic, il vous faut seulement un peu de courage")
  6. Repeat ; Boucle jusqu'à ce que l'évènement soit celui de la fermeture de la fenêtre
  7. Evenement = WaitWindowEvent () ; Affectation du type d'évènements dans la variable Evenement
  8. Until Evenement = #PB_Event_CloseWindow
  9. End

 

Télécharger le fichier exemple, Source29.pb >>

 


Le gadget de type bouton

 

Rien n’à signaler, excepté cette fois que nous allons affecter la valeur 1 comme ID afin que les ID des 2 gadgets employés dans la fenêtre soient différents !

La syntaxe ?

ButtonGadget (Constante_de_l’ID,abscisse,ordonnée,largeur,hauteur, »texte du bouton »)

 

  1. #ID_fenetre = 0 ; Déclaration d'une constante pour l'ID de la fenêtre
  2. #ID_texte = 0 ; Déclaration d'une constante pour l'ID du gadget de type texte
  3. #ID_bouton = 1 ; Déclaration d'une constante pour l'ID du gadget de type bouton
  4. ; Ouverture d'une fenêtre
  5. OpenWindow (#ID_fenetre,200,200,300,300,"Découverte du PureBasic",#PB_Window_SystemMenu)
  6. TextGadget (#ID_texte,10,10,200,50,"Je vous souhaite la bienvenue dans l'apprentissage du PureBasic, il vous faut seulement un peu de courage")
  7. ButtonGadget (#ID_bouton,50,100,50,50,"Ok")
  8. Repeat ; Boucle jusqu'à ce que l'évènement soit celui de la fermeture de la fenêtre
  9. Event = WaitWindowEvent () ; Affectation du type d'évènements dans la variable Evenement
  10. Until Event = #PB_Event_CloseWindow
  11. End

 

Télécharger le fichier exemple, Source30.pb >>

 


Le gadget de type zone de texte simple

 

C’et ce que l’on appelle plus couramment, « la zone d’édition ».

Grace à ce gadget, l’utilisateur peut saisir du texte dans une zone d’édition simple d’une seule ligne.

Vous devez afficher le label de cette zone de texte au-dessus ou à gauche de façon à indiquer la nature de ce qui doit être saisi, puis vient la fonction « StringGadget ».

A propos de la syntaxe, rien de nouveau excepté que le dernier paramètre obligatoire permet d’insérer un texte par défaut dans la zone de texte :

 

La syntaxe :

StringGadget (Constante_de_l’ID,abscisse,ordonnée,largeur,hauteur, »texte par défaut »)

 

Vous pouvez optionnellement rajouter un septième paramètre, il s’agit d’une ou plusieurs constantes qui permettent d’apporter des propriétés nouvelles à la zone d’édition :

#PB_String_Password, Pour que des astérisques soient affichés à la place des caractères dans la zone d’édition, masque la saisie ;

#PB_String_ReadOnly, Zone d’édition en lecture seule ;

#PB_String_Numeric, Seuls les chiffres seront acceptés ;

#PB_String_LowerCase, Tous les caractères seront convertis en minuscules ;

#PB_String_UpperCase, Tous les caractères sont convertis en majuscules.

 

Voici un exemple, dans le sixième paramètre de la fonction « StringGadget », les 2 guillemets signifient que nous ne souhaitons aucun texte par défaut à l’initialisation de la zone d’édition. Ce type de texte qui ne contient rien se dit « chaîne vide ».

 

  1. #ID_fenetre = 0 ; Déclaration d'une constante pour l'ID de la fenêtre
  2. #ID_LabelNomUtilisateur = 1 ; Identifiant pour le label du nom d'utilisateur
  3. #ID_LabelLogin = 2 ; Identifiant pour le label du login
  4. #ID_LabelMotDePasse = 3 ; Identifiant pour le label du mot de passe
  5. #ID_EditionNomUtilisateur = 4 ; Identifiant pour la zone d'édition du nom d'utilisateur
  6. #ID_EditionLogin = 5 ; Identifiant pour la zone d'édition du Login
  7. #ID_EditionMotDePasse = 6 ; Identifiant pour la zone d'édition du mot de passe
  8. #ID_BoutonOk = 7 ; Déclaration d'une constante pour l'ID du gadget de type bouton
  9. ; Ouverture d'une fenêtre
  10. OpenWindow (#ID_fenetre,10,10,500,500,"Découverte du PureBasic",#PB_Window_SystemMenu)
  11. ; Affichage du label pour la première zone d'édition
  12. TextGadget (#ID_LabelNomUtilisateur,10,10,100,30,"Votre nom  :")
  13. ; Affichage d'une zone d'édition standard
  14. StringGadget (#ID_EditionNomUtilisateur,110,10,100,30,"")
  15. ; Affichage du label pour la seconde zone d'édition
  16. TextGadget (#ID_LabelLogin,10,60,100,30,"Login :")
  17. ; Affichage d'une zone d'édition standard Refusant les majuscules
  18. StringGadget (#ID_EditionLogin,110,60,100,30,"",#PB_String_LowerCase)
  19. ; Affichage du label pour la troisième zone d'édition
  20. TextGadget (#ID_LabelMotDePasse,10,110,100,30,"Mot de passe :")
  21. ; Affichage d'une zone d'édition de type Mot de passe
  22. StringGadget (#ID_EditionMotDePasse,110,110,100,30,"",#PB_String_Password)
  23. ButtonGadget (#ID_BoutonOk,50,250,50,50,"Ok")
  24. Repeat ; Boucle jusqu'à ce que l'évènement soit celui de la fermeture de la fenêtre
  25. Evenement = WaitWindowEvent () ; Affectation du type d'évènements dans la variable Evenement
  26. Until Evenement = #PB_Event_CloseWindow
  27. End

 

Télécharger le fichier exemple, Source31.pb >>

 


Le gadget de type éditeur

 

Alors là, je suis justement à l’intérieur de ce genre de gadget !

En effet, je suis en train d’élaborer ce manuel depuis WORD, et l’espace dans lequel j’écris le texte est bien une zone d’édition multi lignes, non ?

Eh bien, le gadget de type « éditeur », c’est ça…

 

Pour la syntaxe ?

Rien de bien méchant !

C’est la même syntaxe que pour le gadget « String » excepté qu’il n’y a pas de texte par défaut lors de l’initialisation du gadget, donc un paramètre en moins…

Quant à la fonction, c’est « EditorGadget ».

EditorGadget (Constante_de_l’ID,abscisse,ordonnée,largeur,hauteur)

 

Un exemple ?

 

  1. #ID_fenetre = 0 ; Déclaration d'une constante pour l'ID de la fenêtre
  2. #ID_texte = 1
  3. #ID_editeur = 2 ; Déclaration d'une constante pour l'ID du gadget de type éditeur
  4. #ID_bouton = 3 ; Déclaration d'une constante pour l'ID du gadget de type bouton
  5. ; Ouverture d'une fenêtre
  6. OpenWindow (#ID_fenetre,10,10,500,500,"Découverte du PureBasic",#PB_Window_SystemMenu)
  7. TextGadget (#ID_texte,50,130,100,30,"Votre texte :")
  8. EditorGadget (#ID_editeur,50,150,400,300)
  9. ButtonGadget (#ID_bouton,50,250,50,50,"Ok")
  10. Repeat ; Boucle jusqu'à ce que l'évènement soit celui de la fermeture de la fenêtre
  11. Event = WaitWindowEvent () ; Affectation du type d'évènements dans la variable Evenement
  12. Until Event = #PB_Event_CloseWindow
  13. End

 

Télécharger le fichier exemple, Source32.pb >>

 


Le gadget de type WebGadget

 

Voici un gadget très particulier, il s’agit d’une zone d’affichage permettant de visualiser une page sur INTERNET.

 

La syntaxe :

ConstanteID

Ici le code d’ouverture de la fenêtre.

WebGadget (ConstanteID,abscisse,ordonnée,largeur,hauteur, »adresse URL »)

 

La description :

ConstanteID

C’est la déclaration de la constante qui va permette d’identifier le gadget, par exemple :

#ID_Web

 

WebGadget

C’est la fonction qui affiche le gadget Web dans la fenêtre, voici la liste des propriétés à passer en paramètres :

1.                 La constante qui représente l’ID du gadget ;

2.                 L’abscisse, c’est la position horizontale de l’angle haut gauche du gadget par rapport à la bordure gauche ;

3.                 L’ordonnée, c’est la position verticale de l’angle haut gauche par rapport à la bordure supérieure de la fenêtre ;

4.                 Largeur, c’est la largeur en pixels du gadget ;

5.                 Hauteur, C’est la hauteur en pixels du gadget ;

6.                 Adresse URL, c’est l’adresse URL du site à ouvrir dans le gadget.

 

Voici un exemple :

 

1.                 #ID_fenetre = 0 ; Déclaration de l'ID de la fenêtre

2.                 #ID_navigateur = 0 ; Déclaration de l'ID du gadget Web

3.                  ; Et oui, on peut choisir également 0 comme ID pour le premier gadget car les fenêtres et les gadgets ne sont pas traités à un même niveau hiérarchique !

4.                 ; Ouverture de la fenêtre

5.                 OpenWindow (#ID_fenetre,5,5,800,600,"Navigateur",#PB_Window_SystemMenu)

6.                 ; Affichage du gadget Web

7.                 WebGadget (#ID_navigateur,10,10,750,580,"http://www.jaws-actions.fr")

8.                 Repeat

9.                 Evenement = WaitWindowEvent ()

10.             Until Evenement = #PB_Event_CloseWindow

11.             End

 

Télécharger le fichier exemple, Source34.pb >>

 


Le gadget de type Case à cocher

 

Ce gadget permet d’afficher une « case à cocher » dans la fenêtre.

 

La syntaxe :

CheckBoxGadget (#ConstanteID,abscisse,ordonnée,largeur,hauteur,texte »)

 

La description :

CheckBoxGadget

C’est la fonction pour afficher une « case à cocher », 6 propriétés au minimum à passer en paramètres :

    1. #ConstanteID, c’est la constante qui contient l’ID du gadget ;
    2. Abscisse, c’est la position horizontale de l’angle supérieur gauche par rapport à la bordure de gauche ;
    3. Ordonnée, C’est la position verticale de l’angle supérieur gauche par rapport à la bordure du haut ;
    4. Largeur, c’est la largeur en pixels du gadget ;
    5. Hauteur, c’est la hauteur en pixels du gadget ;
    6. « Text », c’est le texte de la case à cocher.

 

Voici un petit exemple !

 

  1. #ID_fenetre = 0 ; Déclaration d'une constante pour l'ID de la fenêtre
  2. #ID_texte = 0 ; Déclaration d'une constante pour l'ID du gadget de type texte
  3. #ID_CaseACocher = 1 ; Déclaration d'une constante pour l'ID de la case à cocher
  4. ; Ouverture d'une fenêtre
  5. OpenWindow (#ID_fenetre,200,200,300,300,"Découverte du PureBasic",#PB_Window_SystemMenu)
  6. TextGadget (#ID_texte,10,10,200,50,"Je vous souhaite la bienvenue dans l'apprentissage du PureBasic, il vous faut seulement un peu de courage")
  7. CheckBoxGadget (#ID_CaseACocher,50,100,100,30,"J'accepte les termes du contrat")
  8. Repeat ; Boucle jusqu'à ce que l'évènement soit celui de la fermeture de la fenêtre
  9. Event = WaitWindowEvent () ; Affectation du type d'évènements dans la variable Evenement
  10. Until Event = #PB_Event_CloseWindow
  11. End

 

Télécharger le fichier exemple, Source37.pb >>


Le gadget de type Image

 

L’image est un peu moins simple à afficher, on ne peut se contenter d’une seule ligne de code !

Au préalable, ce qu’il faut savoir, c’est que le format d’images à utiliser est le type « BMP ».

Le but du jeu est simple, on cherche à ouvrir l’image avec la fonction « LoadImage », et si on y parvient, on l’affiche avec « ImageGadget ».

 

La syntaxe :

If LoadImage (0,"chemin/Image")

 ImageGadget (0,abscisse,Ordonnée,largeur,hauteur,ImageID(ID_Un_entier))

EndIf

 

La description :

LoadImage

C’est la fonction qui charge limage en mémoire et qui nécessite 2 paramètres :

1.      0, c’est un numéro de composant mémoire ;

2.      « Chemin/Image « , C’est le chemin de destination et le nom de l’image avec son extension.

 

ImageGadget

C’est la fonction qui affiche l’image dans  la fenêtre, 6 propriétés à passer en paramètres au minimum :

  1. 0, c’est le composant mémoire utilisé dans le premier paramètre de la fonction « LoadImage » ;
  2. abscisse, la position horizontale en pixels de l’angle supérieur gauche par rapport à la bordure gauche de l fenêtre ;
  3. Ordonnée, la position verticale en pixels de l’angle supérieur gauche de l’image par rapport à la bordure du haut de la fenêtre ;
  4. largeur, c’est la largeur en pixels de l'image ;
  5. hauteur, c’est la hauteur en pixels de l’image ;
  6. ImageID, c’est la fonction qui permet de définir l’ID de l’image.

 

Voici un exemple, j’ai rajouté un septième paramètre à la fonction « ImageGadget », il s’agit de la constante #PB_Image_Border » qui permet d’encadrer limage par une bordure :

 

  1. #ID_fenetre = 0; Déclaration d'une constante pour l'ID de la fenêtre
  2. #ID_texte = 1 ; Déclaration d'une constante pour le gadget de type texte
  3. ; Affichage de la fenêtre
  4. OpenWindow (#ID_fenetre,5,5,700,700,"Bienvenue",#PB_Window_SystemMenu)
  5. ; Affichage du texte
  6. TextGadget (#ID_texte,100,10,300,50,"L'image représente une route qui de façon intuitive vous invite à nous suivre...")
  7. ; Vérifie si l'image peut être ouverte
  8. If LoadImage (0,"route.bmp")
  9. ; Affichage de l'image
  10. ImageGadget (0,50,90,600,600,ImageID(0),#PB_Image_Border)
  11. EndIf
  12. Repeat ; Piège l'affichage de la fenêtre
  13. Evenement = WaitWindowEvent () ; Récupération du dernier évènement de la fenêtre
  14. Until Evenement = #PB_Event_CloseWindow
  15. End

 

Télécharger le fichier exemple, Source33.rar >>

 


Le gadget de type zone de liste déroulante

 

Ce gadget est de type « comboBox », et il permet d’afficher une liste de choix

 

La syntaxe :

ComboBoxGadget (#ConstanteID,Abscisse,Ordonnée,Largeur,Hauteur[,options])

AddGadgetItem ("#ConstanteID,Position,"TexteItem1")

AddGadgetItem ("#ConstanteID,Position,"TexteItem2") etc.

 

La description :

ComboBoxGadget

·        C’est la fonction qui permet d’afficher la zone de liste déroulante, voici ses paramètres :

1.      #ConstanteID, c’est l’identifiant de la ComboBox, déclaré au préalable avant l’ouverture de la fenêtre ;

2.      Abscisse, c’est la position en pixels de l’angle supérieur gauche de la ComboBox par rapport à la bordure gauche de la fenêtre la contenant ;

3.      Ordonnée, c’est la position en pixels de l’angle supérieur gauche de la ComboBox par rapport à la bordure haute de la fenêtre la contenant ;

4.      Largeur, c’est la largeur en pixels de la ComboBox ;

5.      Hauteur, c’est la hauteur en pixels de la ComboBox ;

6.      [,Options], c’est la possibilité de rendre la zone de liste déroulante éditable, donc de donner la possibilité à l’utilisateur d’y saisir son propre texte.  La constante à utiliser est #PB_ComboBox_Editable.

Mais vous avez également 2 autres constantes à votre disposition :

·        #PB_ComboBox_LowerCase, Pour que la saisie soit convertie en lettres minuscules ;

·        #PB_ComboBox_UpperCase, pour que la saisie soit convertie en majuscule.

 

Ensuite, vient la seconde fonction, « AddGadgetItem ».

Cette fonction permet d’insérer un item dans la zone de liste déroulante, elle doit par conséquent être employée autant de fois qu’il y a d’item à insérer :

AddGadgetItem, c’est le nom de la fonction, et voici ses paramètres :

1.      #ConstanteID, c’est l’identifiant de la ComboBox, celui que vous avez défini avant l’ouverture de la fenêtre ;

2.      Position, c’est la position que doit occuper l’item dans la liste, pour ajouter l’item à la fin, la valeur est -1 ;

3.      «TexteItem», c’est le texte de l’item, il s’agit d’une chaîne de caractères à placer entre guillemets, mais cela peut être également une variable de type « String ».

 

Fonction complémentaire :

« SetGadgetState » permet de sélectionner un Item par défaut en se basant sur la position de l’item à sélectionner, sachant que le premier item est à la position 0.

La syntaxe :

SetGadgetState (#ConstanteID,Position)

 

La description :

·      #ConstanteID, C’est l’identifiant de la ComboBox ;

·      Position, c’est la position dans la liste de l’item à sélectionner, 0 pour le premier item.

Par exemple, pour sélectionner le second item de la liste :

SetGadgetState (#ConstanteID,1)

 

Voici un exemple :

 

1.      ; Bloc de déclarations des constantes pour identifier la fenêtre et les gadgets

2.      #ID_Window = 0 ; Identifiant pour la fenêtre

3.      #ID_TextGadget = 1 ; Identifiant pour le petit texte

4.      #ID_ComboBox = 2 ; Identifiant pour la zone de liste déroulante

5.      ; Ouverture de la fenêtre

6.      OpenWindow (#ID_Window,0,0,700,700,"Trucs et astuces",#PB_Window_SystemMenu)

7.      ; Affichage du petit texte

8.      TextGadget (#ID_TextGadget,10,10,300,30,"Bienvenue sur le site des bricoleurs")

9.      ; Affichage de la zone de liste déroulante

10.  ComboBoxGadget (#ID_ComboBox,10,150,100,50,#PB_ComboBox_Editable)

11.  ; Insertion du premier item de la liste

12.  AddGadgetItem (#ID_ComboBox,-1,"Professionnel")

13.  ; Insertion du second item

14.  AddGadgetItem (#ID_ComboBox,-1,"Amateur")

15.  ; Insertion du troisième item

16.  AddGadgetItem (#ID_ComboBox,-1,"Curieux")

17.  ; Insertion du quatrième item

18.  AddGadgetItem (#ID_ComboBox,-1,"Autres...")

19.   ; Sélection du second item, « amateur »

20.  SetGadgetState (#ID_ComboBox,1)

21.  ; Déclenchement de la boucle de mise en attente d'évènements

22.  Repeat

23.  ActionUtilisateur = WaitWindowEvent()

24.  Until ActionUtilisateur = #PB_Event_CloseWindow

25.  End

 

Télécharger le fichier exemple, source40.pb >>

 


Le gadget de type vue de liste

 

Ce gadget est de type « ListView », et il permet d’afficher une liste de type « simple sélection », ou « multi sélections », selon votre choix.

 

La syntaxe :

ListViewGadget (#ConstanteID,Abscisse,Ordonnée,Largeur,Hauteur[,options])

AddGadgetItem ("#ConstanteID,Position,"TexteItem1")

AddGadgetItem ("#ConstanteID,Position,"TexteItem2") etc.

 

La description :

ListViewGadget

·        C’est la fonction qui permet d’afficher la liste, voici ses paramètres :

1.      #ConstanteID, c’est l’identifiant de la ListView, déclaré au préalable avant l’ouverture de la fenêtre ;

2.      Abscisse, c’est la position en pixels de l’angle supérieur gauche de la ListView par rapport à la bordure gauche de la fenêtre la contenant ;

3.      Ordonnée, c’est la position en pixels de l’angle supérieur gauche de la ListView par rapport à la bordure haute de la fenêtre la contenant ;

4.      Largeur, c’est la largeur en pixels de la ListView ;

5.      Hauteur, c’est la hauteur en pixels de la ListView ;

6.      [,Options], c’est la possibilité de rendre la liste multi sélections, donc de donner la possibilité à l’utilisateur de sélectionner plusieurs item, #PB_ListView_multiselect, pour que l’utilisateur ait la possibilité de sélectionner plusieurs items contigus, et #PB_ListView_ClickSelect pour que l’utilisateur ait la possibilité de sélectionner plusieurs items non contigus.

 

Ensuite, vient la seconde fonction, « AddGadgetItem ».

Cette fonction permet d’insérer un item dans la liste, elle doit par conséquent être employée autant de fois qu’il y a d’item à insérer :

AddGadgetItem, c’est le nom de la fonction, et voici ses paramètres :

1.      #ConstanteID, c’est l’identifiant de la ListView, celui que vous avez défini avant l’ouverture de la fenêtre ;

2.      Position, c’est la position que doit occuper l’item dans la liste, pour ajouter l’item à la fin, la valeur est -1, quant au premier item de la liste, sa position est 0 ;

3.      «TexteItem», c’est le texte de l’item, il s’agit d’une chaîne de caractères à placer entre guillemets, mais cela peut être également une variable de type « String ».

 

Fonction complémentaire :

« SetGadgetState » permet de sélectionner un Item par défaut en se basant sur la position de l’item à sélectionner, sachant que le premier item est à la position 0.

La syntaxe :

SetGadgetState (#ConstanteID,Position)

 

La description :

·      #ConstanteID, C’est l’identifiant de la ListView ;

·      Position, c’est la position dans la liste de l’item à sélectionner, 0 pour le premier item.

Par exemple, pour sélectionner le second item de la liste :

SetGadgetState (#ConstanteID,1)

 

Voici un exemple :

 

1.      ; Bloc de déclarations des constantes pour identifier la fenêtre et les gadgets

2.      #ID_Window = 0 ; Identifiant pour la fenêtre

3.      #ID_TextGadget = 1 ; Identifiant pour le petit texte

4.      #ID_ListView = 2 ; Identifiant pour la vue de liste

5.      ; Ouverture de la fenêtre

6.      OpenWindow (#ID_Window,0,0,700,700,"Trucs et astuces",#PB_Window_SystemMenu)

7.      ; Affichage du petit texte

8.      TextGadget (#ID_TextGadget,10,10,300,30,"Bienvenue sur le site des bricoleurs")

9.      ; Affichage de la vue de liste 

10.  ListViewGadget ListViewGadget (#ID_ListView,10,150,100,350,#PB_ListView_ClickSelect);

11.   Insertion du premier item de la liste

12.  AddGadgetItem (#ID_ListView,-1,"Professionnel")

13.  ; Insertion du second item

14.  AddGadgetItem (#ID_ListView,-1,"Amateur")

15.  ; Insertion du troisième item

16.  AddGadgetItem (#ID_ListView,-1,"Curieux")

17.  ; Insertion du quatrième item

18.  AddGadgetItem (#ID_ListView,-1,"Autres...")

19.  ; Sélection du deuxième item de la vue de liste

20.  SetGadgetState (#ID_ListView,1)

21.  ; Déclenchement de la boucle de mise en attente d'évènements

22.  Repeat

23.  ActionUtilisateur = WaitWindowEvent()

24.  Until ActionUtilisateur = #PB_Event_CloseWindow

25.  End

 

Télécharger le fichier exemple, source41.pb >>

 


La bulle d’aide des gadgets

 

Pour un gadget précis, vous pouvez rédiger une info-bulle qui sera activée à l’instant –même où le gadget sera survolé par le pointeur de la souris.

 

Note :

·        Avec JAWS, pour que la bulle d’aide soit activée, il vous faut au préalable vous positionner sur le gadget par l’intermédiaire de la touche tabulation, puis appeler le curseur JAWS en réalisant le raccourci clavier Insère +Moins du pavé numérique en mode inactif.

 

La fonction qui permet de rédiger une bulle d’aide est « GadgetToolTip ».

 

La syntaxe :

Tout d’abord, vient le gadget auquel se rattache la bulle d’aide.

Par exemple :

StringGadget (#ConstanteID, X, Y, Largeur, Hauteur, "texte")

Ensuite vient la bulle d'aide, l'identification "#ConstanteID" doit être le même que celui employé pour le gadget.

GadgetToolTip(#ConstanteID, "Texte de la bulle d'aide ici")

 

Dans l’exemple suivant, une bulle d’aide a était rédigée pour le gadget de type « ListView » :

 

  1. ; Bloc de déclarations des constantes pour identifier la fenêtre et les gadgets
  2. #ID_Window = 0 ; Identifiant pour la fenêtre
  3. #ID_TextGadget = 1 ; Identifiant pour le petit texte
  4. #ID_ListView = 2 ; Identifiant pour la vue de liste
  5. ; Ouverture de la fenêtre
  6. OpenWindow (#ID_Window,0,0,700,700,"Trucs et astuces",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  7. ; Affichage du petit texte
  8. TextGadget (#ID_TextGadget,10,10,300,30,"Bienvenue sur le site des bricoleurs")
  9. ; Affichage de la vue de liste 
  10. ListViewGadget (#ID_ListView,10,150,100,350,#PB_ListView_ClickSelect)
  11. ; Insertion du premier item de la liste
  12. AddGadgetItem (#ID_ListView,-1,"Professionnel")
  13. ; Insertion du second item
  14. AddGadgetItem (#ID_ListView,-1,"Amateur")
  15. ; Insertion du troisième item
  16. AddGadgetItem (#ID_ListView,-1,"Curieux")
  17. ; Insertion du quatrième item
  18. AddGadgetItem (#ID_ListView,-1,"Autres...")
  19. ; Sélection du deuxième item de la vue de liste
  20. SetGadgetState (#ID_ListView,1)
  21. ; Affichage d'une bulle d'aide pour la vue de liste
  22. GadgetToolTip (#ID_ListView,"Pour continuer à circuler dans l'interface de cette application, vous devez nous révéler votre degré d'intérêt que vous portez à nos astuces")
  23. ; Déclenchement de la boucle de mise en attente d'évènements
  24. Repeat
  25. ActionUtilisateur = WaitWindowEvent()
  26. Until ActionUtilisateur = #PB_Event_CloseWindow
  27. End

 

Télécharger le fichier exemple, source42.pb >>

 

Philippe BOULANGER