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() |