Actions par défaut et actions DCL
La fonction (action_tile) n'est pas la seule façon de spécifier une action.
Une description DCL de composant peut inclure un attribut action dans AutoLISP, et l'appel à (new_dialog) peut spécifier l'action par défaut d'une boîte de dialogue.
Une seule action peut être associée à chaque composant.
Si le fichier DCL et l'application en spécifient plusieurs, l'ordre de priorité suivant est appliqué :
1 - L'action par défaut spécifiée par l'appel (new_dialog) (utilisée uniquement dans le cas où aucune action n'est explicitement assignée au composant).
2 - L'action spécifiée par l'attribut action dans le fichier DCL.
3 - L'action assignée par l'appel à (action_tile) (priorité de plus haut niveau).
Gestion des composants
Votre programme exerce un contrôle sur les composants contenus dans la boîte de dialogue courante, au moment de l'initialisation et de l'exécution de l'action (appel en retour).
Initialisation des modes et valeurs
L'initialisation d'un composant consiste à :
- lui donner le focus clavier initial dans la boîte de dialogue ;
- le désactiver ou l'activer;
- mettre son contenu en surbrillance s'il s'agit d'une boîte d'édition ou d'une image.
Ces opérations sont exécutées par des appels à (mode_tile).
Vous pouvez définir la valeur d'un composant à l'aide de (set_tile).
Pour afficher une valeur par défaut (par exemple, un nom) dans une boîte d'édition et placer le focus initial de la boîte de dialogue sur cette boîte, utilisez le code suivant :
1 2 3 | (setq name_str "Blanc"); (set_tile "nom" name_str); (mode_tile "nom" 2); |
Vous avez bien remarqué le point virgule en fin de ligne ?
Quelques explications :
Ligne 1 Par défaut
Ligne 2 Initialise le champ.
Ligne 3 Le code 2 place le focus sur le composant.
Un appel supplémentaire à (mode_tile) peut mettre en surbrillance le contenu intégral d'une boîte d'édition pour que l'utilisateur puisse écraser immédiatement le contenu initial, comme le fera ce code :
(mode_tile "nom" 3) |
Le code 3 sélectionne le contenu de la boîte.
26 janvier 2018