[Tuto] Créer des GUI proprement et facilement!

Espace contenant des tutoriels divers concernant AutoIt.
Règles du forum
.

Tutoriel "La programmation avec Autoit" : https://openclassrooms.com/fr/courses/1 ... vec-autoit
Répondre
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

[Tuto] Créer des GUI proprement et facilement!

#1

Message par matwachich »

Bonjour à tous!

C'est mon premier tuto, et j’espère que je serai assez clair!

Je vais vous apprendre la méthode que j'utilise pour créer des GUIs dans mes programmes, c'est une méthode qui va paraitre trop casse tête pour si simple, mais je vous assure qu'elle s'avère redoutablement efficace et super simple à gérer dans des gros scripts avec plusieurs GUIs.

Il y a 2 principes de base:
- Chaque GUI avec sa fonction
- Les fonctions de GUIs dans un fichier séparer (pour faire plus propre)

1 - Création des GUIs
On va utiliser Koda, ou ce que vous voulez!
L'essentiel c'est que au final, on ait le code
► Afficher le texteGUI Principale
► Afficher le texteGUIs secondaires
2 - Mise en place des fonctions de GUIs
Je met chaque GUI dans un fonction, cette fonction simplifie grandement la gestion ultérieur de la GUI (Création, destruction, Montrer, Cacher...)
Cette fonction prendra en paramètre une valeur parmi ces 4

Code : Tout sélectionner

Global Enum $__GUI_CREATE, $__GUI_DELETE, $__GUI_SHOW, $__GUI_HIDE
C'est ce paramètre qui dira à la fonction que faire avec le code de la GUI.

Aussi, puisque le code de la GUI sera dans une fonction, il faudra déclarer au préalable toutes les variables des controls et de la GUI elle même, à l'extérieur de la fonction.

Enfin, on met toutes ces fonctions dans un fichier unique, que l'on inclura dans le fichier principal du script.

Voici le fichier:
► Afficher le texteGUIs.au3
3 - Le script principale
Dans le script principale, il faut tout d'abord inclure le fichier contenant les GUIs

Code : Tout sélectionner

#Include "GUIs.au3"
En suite, pour manipuler les GUIs, on utilise tout simplement leurs fonctions!

Regardez plutôt!
► Afficher le texteMain.au3

Voila! J'espère que ça sera utile!
Modifié en dernier par matwachich le mer. 02 nov. 2011 22:18, modifié 1 fois.
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
bob
Niveau 3
Niveau 3
Messages : 41
Enregistré le : ven. 16 oct. 2009 23:23
Status : Hors ligne

Re: [Tuto] Créer des GUI proprement et facilement!

#2

Message par bob »

Très utile et très intéressant. Vraiment, merci.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [Tuto] Créer des GUI proprement et facilement!

#3

Message par Tlem »

Code : Tout sélectionner

$[color=#FF0000][b]GUI_3[/b][/color] = GUICreate("[color=#FF0000][b]GUI 2[/b][/color]", 172, 124)
Je suppose que c'est pour voir si on suit. :lol:

Perso, je trouve cette gestion un peut lourde pour des softs simples. Maintenant si il y à une multitude de fenêtre, effectivement cela aide à la gestion de celles-ci. Par contre, il manque la gestion du mode enfant qui est important pour votre exemple car les GUIs 'secondaires' doivent dépendre de la GUI principale ...
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [Tuto] Créer des GUI proprement et facilement!

#4

Message par matwachich »

Tlem a écrit :Je suppose que c'est pour voir si on suit. :lol:
Euh... :oops: oui, c'est bien cela... :P

Bah, pour le mode enfant, je ne l'ai jamais utiliser! Je ne suis même pas sure de savoir à quoi il sert concrètement. Je me souvient même avoir poser la question, et c'est Tlem qui m'a répondu, mais je ne l'utilise toujours pas, allez savoir pour quoi!

Sinon, pour l'utiliser, il suffit de changer la création des guis filles comme ceci

Code : Tout sélectionner

$GUI_1 = GUICreate("GUI 1", 172, 124, -1, -1, -1, -1, $GUI_Principale)
...
$GUI_2 = GUICreate("GUI 2", 172, 124, -1, -1, -1, -1, $GUI_Principale)
...
$GUI_3 = GUICreate("GUI 3", 172, 124, -1, -1, -1, -1, $GUI_Principale)
PS: Personnellement, j'utilise cette méthode même dans les petits scripts à une seul GUI! C'est plus propre! Mais bon, chaque un son style!
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [Tuto] Créer des GUI proprement et facilement!

#5

Message par TT22 »

Je trouve l'idée de créer des GUIs dans des fonctions puis de les inclures très bonne, ça permet d'aérer le script, mais c'est vrai que c'est un peu long pour des petits scripts.

Ce qui serait bien, c'est que la fonction de la GUI gère toute seul la détection des actions et renvoie le handle correspondent.
Cordialement,
TT22
Répondre