Objet actif Boîte Combo - suite
 
  • Programmer une liste déroulante, pour stocker noms et adresses par exemple, est possible avec l'objet actif Boîte Combo
  • On peut envisager plusieurs cas de figure :
    A on a une liste de prénoms pré-établie qu'on "charge" dans la combo_box
    B on peut ajouter des prénoms dans la liste pré-établie
    rappel, la combo_box a 3 types : Simple, Ouvrable, Liste ouvrable
    penser à décocher
    Utiliser les couleurs système si vous voulez attribuer une couleur à combo_box
  • le matériel se trouve dans le tutorial 27 à télécharger - cf. page des téléchargements
  • exemple 1 : basique, au début, on charge une liste pré-établie
  • exemple 2 : au début, on charge une liste pré-établie, mais modifiable : ajout prénom
  • exemple 3 : au début, on charge une liste pré-établie, mais modifiable : ajout ou effacer prénom
  • exemple 4 : au début, on charge une liste pré-établie, mais modifiable : ajout ou effacer prénom + possibilité de trier
    + cet exemple modifié par Ouly sur le forum - regarder ses commentaires dans la page de l'Editeur d'évènements -
    la programmation est plus élégante, par exemple, quand on supprime un prénom, le rang disparait
    vous pourrez appliquer ses suggestions sur les exemples suivants...
  • exemple 5 : charger une liste avec un sélecteur de fichier - 2 soucis
    1 la nouvelle liste ne remplace pas mais s'ajoute à l'ancienne
    - ce qui peut être un avantage pour mixer plusieurs listes, à condition que les données soient différentes d'une liste à l'autre -
    2 quand on revient après le jeu, la liste a disparu - normal finalement ? -, mais du moment qu'on n'a pas quitté l'application...
  • exemple 6 : au début, on charge une liste pré-établie, triée + jeu - image ci-contre
    dans la
    page parent, pour chaîne/ prénom, cocher Objet global dans Propriétés / Option du runtime
    ensuite, copier/coller cette
    chaîne/ prénom dans la page Jeu
  • exemple 7 : au début, on charge une liste pré-établie modifiable + sous-application jeu - image ci-contre
    dans la
    page parent, pour chaîne/ prénom, cocher Objet global dans Propriétés / Option du runtime
    ensuite, copier/coller cette
    chaîne/ prénom dans la page Jeu
  • exemple 8 : au début, on charge une liste pré-établie modifiable + hi-scores - 2 soucis
    1 quand je donne l'ordre - ou quand le nombre de questions est atteint -, d'aller sur la page hi-scores, la question Nom apparaît sur la page jeu et non sur la page hi-scores et ce n'est qu'après, qu'on va sur celle-ci
    2 quand on revient sur la page d'accueil, la liste a disparu
 
  • A on a une liste de prénoms pré-établie qu'on "charge" dans la combo_box
    quand on clique sur un prénom, ça renvoie à sa page dédiée - formule simple si on a peu de prénoms
  • petite explication pour le point 3 - aller à la page dédiée -
    il faut ajouter à l'indice de la ligne sélectionnée l'indice de la première scène à laquelle sauter, l'indice des scènes étant basé sur 1 et non 0, cela donne :
    Combo Select( "Boîte Combo" )+2

   
  • B on peut ajouter des prénoms dans la liste, mais comme on ne peut pas ajouter des pages dédiées en cours d'exécution,
    le clic sur un prénom renvoie à une même page, commune à tous, une application externe ou une sous-application
    en quittant l'application, la liste mise à jour est enregistrée
  • petite explication pour le point Changer le texte "" : vider la boîte d'édition

   
  • pour enlever un prénom de la liste, soit Remise à zéro - mais on perd la dernière liste sauvegardée
    soit une meilleure solution...
  • ajout d'un 2ème compteur - le 1er indiquant le nombre de lignes de la combo_box - qui indique le rang d'un prénom
    ajouter +1 - même observation que pour - aller à la page dédiée - 1
    Détruire la ligne correspondant au rang du prénom cliqué - on enlève 1 puisqu'on l'avait ajouté plus haut -, façon de "remettre les pendules à l'heure"... 2
    ne pas oublier d'
    Enregistrer la liste en cliquant sur C'est parti 3
  • si on veut une liste par ordre alphabétique, cocher Trier dans les propriétés de la combo_box
  • cocher Scroller jusqu'à une nouvelle ligne pour aller automatiquement jusqu'à une nouvelle ligne lorsque l'on entre un nouvel élément dans la liste