[ R ] Votre aide pour la réalisation d'une Gui performante

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Boulanza
Niveau 10
Niveau 10
Messages : 711
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

[ R ] Votre aide pour la réalisation d'une Gui performante

#1

Message par Boulanza »

Bonjour tout le monde,
Je vous prie de m'aider à créer en plus de :
. Local $aInput[6][2] = [[0, "Name"],[0, "Address"],[0, "Home Phone"],[0, "Mobile Phone"],[0, "Date of birth"],[0, "Town"]]
À droite dans la même   $hGui = GUICreate("", 500, 300) Soit en total 12 inputs : à droite 6 inputs et aussi 6 inputs à gauche.
Merci infiniment pour votre aide et de votre compréhension.
Cordialement. 

Code : Tout sélectionner

#include <GUIConstantsEX.au3>
#include <EditConstants.au3>
#include <WinAPI.au3>

$hGui = GUICreate("", 500, 300)
GUICtrlCreateLabel("Info", 10, 5)
 Local $aInput[6][2] = [[0, "Name"],[0, "Address"],[0, "Home Phone"],[0, "Mobile Phone"],[0, "Date of birth"],[0, "Town"]]
 For $i = 0 To UBound($aInput) - 1
     $aInput[$i][0] = GUICtrlCreateInput("", 10, (20 * ($i + 1)), 140, 20)
     GUICtrlSendMsg(-1, $EM_SETCUEBANNER, True, $aInput[$i][1])


  Next
GUISetState()
While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then Exit
WEnd
Modifié en dernier par Boulanza le dim. 10 nov. 2024 15:33, modifié 1 fois.
Avatar du membre
Nine
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 136
Enregistré le : ven. 17 avr. 2020 01:23
Localisation : Montréal, Québec
Status : Hors ligne

Re: [ ] Votre aide pour la réalisation d'une Gui performante

#2

Message par Nine »

Voici une façon de faire (en réutilisant une partie de l'array pour conserver l'ID des contrôles. De cette façon, tu gères le déroulement des inputs si l'utilisateur utilise TAB pour se déplacer.

Code : Tout sélectionner

#include <GUIConstants.au3>

Opt("MustDeclareVars", True)

Local $hGui = GUICreate("Form", 500, 300)
GUICtrlCreateLabel("Info", 10, 2)
Local $aInput = [[10, 20, "Name"], [200, 20, "Name2"], [10, 50, "Address"], [200, 50, "Address2"], _
    [10, 90, "Home Phone"], [200, 90, "Home Phone2"], [10, 130, "Mobile Phone"], [200, 130, "Date of birth2"], _
    [10, 170, "Town"], [200, 170, "Town2"]]
For $i = 0 To UBound($aInput) - 1
  $aInput[$i][0] = GUICtrlCreateInput("", $aInput[$i][0], $aInput[$i][1], 150, 20)
  GUICtrlSendMsg(-1, $EM_SETCUEBANNER, True, $aInput[$i][2])
Next

GUISetState()

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
Boulanza
Niveau 10
Niveau 10
Messages : 711
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

Re: [ ] Votre aide pour la réalisation d'une Gui performante

#3

Message par Boulanza »

Bonjour Nine,
Vous venez de me rendre un grant service, je vous en remercie vivement. J'ai une autre question:
Dans le cas ou j'ai GUICtrlCreateCombo à ajouter dans le script soit à la place de [[10, 20, "Name"] et un autre à la place [200, 20, "Name2"]. Aussi dans le cas de GUICtrlCreateButton à la place de [10, 170, "Town"], [200, 170, "Town2"]]
comment faire. merci pour votre aide précieuse.
Cordialement
Avatar du membre
Nine
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 136
Enregistré le : ven. 17 avr. 2020 01:23
Localisation : Montréal, Québec
Status : Hors ligne

Re: [ ] Votre aide pour la réalisation d'une Gui performante

#4

Message par Nine »

S'il y a plusieurs types de contrôles et peu d'occurences de chaque type, je ne vois pas vraiment l'intérêt de mettre tout ça dans une boucle. Mieux vaut les créer individuellement. Mais si d'aventure, tu veux procéder avec des boucles, je suggère de créer un array pour chaque type de contrôles et faire une boucle séparée pour chaque type. Car tenter de tout mettre dans une seule boucle, ajouterait inutilement beaucoup trop de complexité pour la valeur ajoutée.
Boulanza
Niveau 10
Niveau 10
Messages : 711
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

Re: [ ] Votre aide pour la réalisation d'une Gui performante

#5

Message par Boulanza »

pouvez vous nous donner un exemple. Meri
Avatar du membre
Nine
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 136
Enregistré le : ven. 17 avr. 2020 01:23
Localisation : Montréal, Québec
Status : Hors ligne

Re: [ ] Votre aide pour la réalisation d'une Gui performante

#6

Message par Nine »

Un exemple de quoi ? Plusieurs boucles pour chaque type ?

Et bien, tu n'as qu'à prendre mon exemple précédent et créer un array pour les Combo, un autre array pour les Button, etc. Puis appliquer une boucle pour chaque type. Je crois que tu peux le faire. Si tu as des problèmes, post ton code et j'y jetterai un coup d'oeil.
Boulanza
Niveau 10
Niveau 10
Messages : 711
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

Re: [ ] Votre aide pour la réalisation d'une Gui performante

#7

Message par Boulanza »

Merci infiniment.
Répondre