Oui je sais, ça doit faire environ 3 ou 4 bails mais je suis toujours vivant! Et j'ai enfin terminé mes études, je peux donc recommencer à coder!
Je vous propose aujourd'hui une petite fonction qui je pense est très utile : elle permet, avec un simple code JSON (definition d'interface), de lancer un InputBox sous stéroïdes!
Au lieu du simple petit champ de text du InputBox standard, vous pourrez avoir multitudes de contrôles différents (Input, Edit, Combo, Check et Date), qui se positionnent tout seuls au bon endroits!
L'idée m'est venue alors que je suis entrain de développer une application réseau distribuée qui servira à manipuler des données variées ; il faut donc une fenêtre différente pour l'édition de chaque type de données. C'est alors que je me suis souvenue d'une fonctionnalité similaire dans une autre bibliothèque GUI (libIUP). J'ai alors décidé de l'implémenter pour AutoIt!
En gros, avec un code JSON comme ça passé à la fonction :
Code : Tout sélectionner
{ title:"Connexion", font:[10, 400, 0, "Consolas"], controls:[
{type:"label", value:"Connectez-vous"},
{type:"input", id:"username", label:"Nom d'utilisateur"},
{type:"input", id:"password", label:"Mot de passe", style: BitOR($GUI_SS_DEFAULT_INPUT,$ES_PASSWORD) },
{type:"check", id:"remember", label:"Rester connecter", value:true}
] }
Code : Tout sélectionner
{
username:"nom d'utilisateur",
password:"mot de pass",
remember:true|false
}
La fonction est très flexible : vous pouvez pour chaque contrôle définir le style, la couleur... (voyez la doc au début de l'UDF).
Enfin bref, j'espère que ça servira
Le code de l'UDF sur GitHub
TODO:
- Faire en sorte que le fenêtre scroll automatiquement pour afficher le contrôle sous focus (pour les grande fenêtre uniquement, quand les scrollbars sont actives)