unselectRadio()

Désélectionne les boutons radio d'un groupe. Pour être exact, il ne peut y avoir au maximum un seul bouton radio actif par groupe. Cette fonction, en utilisant directement le pointeur sur l'élément actif, lui demande de se désélectionner.

 

Exemples d'utilisation

unselectRadio(GROUPE_0); // Désélectionne les boutons radio du groupe GROUPE_0 
unselectRadio(); // Identique. Plus clair si on n'a qu'un groupe
unselectRadio(GROUPE_1); // Désélectionne les boutons radio du groupe GROUPE_1 

 

Référence

void unselectRadio(char groupe = 0);

Paramètre passé

groupe: numéro du groupe ou GROUPE_0 si le paramètre est absent.

Valeur retournée

Aucune

 

Voir aussi

- getRadioValeur() Donne la valeur du contrôle actif du groupe
- getRadioPointeur() retourne l'adresse du contrôle actif
- RadioZone; Bouton radio (un seul bouton actif parmi plusieurs) sans dessin
- RadioCoche; Bouton radio (un seul bouton actif parmi plusieurs) case à cocher
- RadioCircle; Bouton radio (un seul bouton actif parmi plusieurs) rond

 

Exemple

Dans l'exemple qui suit, on utilise un bouton pour désélectionner les radios

PecheuxGraph_ILI9341_8bits.zip\PecheuxGraph_ILI9341_8bits\examples\Documentation\Exemple-954-unselectRadio\Exemple-954-unselectRadio.ino (dans votre fichier téléchargé):

// Mise en place de 3 boutons de type RadioZone (bouton radio, pas de dessin
// dans le bouton). Quand on appuie sur un bouton, un disque blanc montre son
// activité

// - Les boutons ont une définition statique
// - Utilise unselectRadio pour tout désactiver

#include <PecheuxGraph_ILI9341_8bits.h> // Appel de la bibliothèque 


// Déclaration statique des instances, doit se faire en dehors du setup
// Dans ce cas les boutons sont accessibles partout
RadioZone boutonHaut(200, 40, 240, 80, 1); // Bouton en haut
RadioZone boutonCentre(200, 100, 240, 140, 2); // Bouton au centre
RadioZone boutonBas(200, 160, 240, 200, 3); // Bouton en bas
PushZone boutonEfface(200, 50, 220, 70); // Bouton pour effacer (bouton normal!)


// Déclaration de la fonction qui redessinent les boutons
// Cette fonction ne doivent pas avoir de paramètres et ne doit rien retourner
// Le nom peut être quelconque
void action(void)
{
  fillRect(10, 90, 50, 230, BLACK); // Efface tous les disques
  // Pour dessiner le disque, on le place à la même ordonnée que le bouton
  fillCircle(30, 60 + getRadioValeur() * 50, 20, WHITE);
}

// Fonction pour effacer
void efface(void)
{
  unselectRadio(); // Déactive les boutons radio 
  action(); // Redessine les boutons
}


void setup()
{
  setGraphMode(PAYSAGE); // Initialisation de la carte

  // Fond d'écran
  rect(200, 40, 240, 80, GREEN); // Carré du haut
  rect(200, 100, 240, 140); // Carré au centre de l'écran
  rect(200, 160, 240, 200); // Carré du bas
  text(F("Appuyez sur un carré"));
  rect(200, 50, 220, 70); // Pour effacer
  setTextKeep(CUT); // Pour ne pas effacer l'écran, la croix est trop basse
   setTextCursor(205, 54); setTextColor(RED); setTextBold(BOLD); text("X"); // Croix
  
  boutonHaut.onSelectFunction = &action; // Fonction appelée si on active le bouton du haut de l'écran
  boutonCentre.onSelectFunction = &action; // Fonction appelée si on active le bouton au milieu de l'écran
  boutonBas.onSelectFunction = &action; // Fonction appelée si on active le bouton en bas de l'écran
  boutonEfface.onSelectFunction = &efface; // Fonction appelée si on active le bouton d'effacement
}


void loop()
{
  scanEvent(); // Gestion des boutons et des horloges, le plus souvent seul dans le loop
}

Résultat:

 

getRadioValeur()   <<     >>   getRadioPointeur()