Slider
Exemple 8
(curseur coulissant)
Pour ce composant, j'ai eu bien des difficultés, car je ne l'ai jamais utilisé dans mes programmes personnels et il m'a fallu lire des pages et des pages pour en arriver à quelque chose qui fonctionne.
La (une) solution a été trouvée sur AfraLisp, elle consiste à inclure un petit (defun) pour lire les valeurs du slider.
Ce composant slider est utilisé pour faire défiler un curseur le long d'une barre et de mémoriser sa position sur la barre, entre deux valeurs extrêmes.
L'utilisation est à votre discrétion, car pour l'exemple, je me suis "contenté" de dessiner une barre et de faire varier un texte en dessous avec la valeur de la position du curseur.
Le visuel de la case :
Et en action ça donne :
Le fichier DCL :
Slider01 : dialog {
key = "Titre";
label = "";//Titre depuis le LSP
width = 50;//
spacer;
: slider { //début du slider
key = "myslider" ; //attribution d'un nom
max_value = 100; //valeur maxi
min_value = 0; //valeur mini
value = 50; //valeur initiale
}
spacer;
: paragraph {
: text_part {
key = "Text1";
label = "Le curseur est par défaut au milieu";
//Text1 depuis le LSP
}
spacer;
: text_part { label = "Exemple pour [www.da-code.fr]";}
}
spacer;
ok_cancel;
} //fin de la case slider01
Le Fichier LSP :
(defun c:slider-01 (/ slider_action)
(defun slider_action (val why)
(if (or (= why 2) (= why 1)) ; test de valeurs
(set_tile "Text1" (strcat "Le curseur est à passé à : " val))
) ;_ Fin de if
) ; Fin du defun pour mise à jour du texte sous le slider
(setq Dcl_Id (load_dialog "Slider01.dcl"))
(new_dialog "Slider01" Dcl_Id)
(set_tile "Titre" " Exemple de Titre")
(action_tile "myslider" "(slider_action $value $reason)")
(start_dialog)
(unload_dialog Dcl_Id)
) ;_ Fin de defun
Première émission : 16 février 2018
mise à jour le 08 février 2019
mise à jour le 18 février 2023 pour mise en page