Page 1 sur 1

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

Posté : mer. 02 nov. 2011 15:36
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!

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

Posté : mer. 02 nov. 2011 20:06
par bob
Très utile et très intéressant. Vraiment, merci.

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

Posté : mer. 02 nov. 2011 21:59
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 ...

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

Posté : mer. 02 nov. 2011 22:30
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!

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

Posté : mer. 02 nov. 2011 23:04
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.