[Func] Advanced Input Box

Partagez des fonctions et des UDF AutoIt.
Règles du forum
.
Répondre
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 984
Enregistré le : lun. 19 oct. 2009 03:04
Localisation : Algérie
Status : Hors ligne

[Func] Advanced Input Box

#1

Message par matwachich » sam. 11 mai 2019 04:46

Salutations braves gens!
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}
] }
Vous obtenez un dialog (une GUI), avec les contrôles adéquats, qui retournera si vous cliquez sur OK (à la façon de InputBox) un objet JSON (scripting.dictionary) de forme :

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)
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici

Répondre