Page 1 sur 1

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

Posté : dim. 03 nov. 2024 13:57
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

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

Posté : lun. 04 nov. 2024 00:01
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

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

Posté : lun. 04 nov. 2024 11:53
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

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

Posté : lun. 04 nov. 2024 13:04
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.

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

Posté : lun. 04 nov. 2024 13:17
par Boulanza
pouvez vous nous donner un exemple. Meri

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

Posté : lun. 04 nov. 2024 13:26
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.

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

Posté : lun. 04 nov. 2024 13:52
par Boulanza
Merci infiniment.