Bonjour,
Je crée en ce moment un formulaire qui liste une arborescence.
Grâce à une liste de répertoire, je veux créer pour chaque répertoire un Checkbox.
Problème : le nombre de ces répertoire peut varier et devenir important. Je souhaite donc les placer dans un Groupbox comprenant une barre de défilement verticale pour conserver l'apparence initiale de mon formulaire.
J'arrive à créer le Groupbox ainsi que les Checkbox, mais un problème de placement se pose :
Supposons que mon Groupbox fasse 200 pixels de hauteurs, et que je place un Checkbox tous les 20 pixels ... Jusqu'à 10 Checkbox, aucun problème ne se pose, ils apparaissent bien dans le Groupbox. Au 11ème, ça se complique énormément ... En effet, la création des Checkbox se fait avec des coordonnées dont l'origine est le coin supérieur gauche du formulaire, et non pas du Groupbox.
Résultat : mon 11ème objet créé ne se trouve pas dans le Groupbox mais en dessous !
J'ai beau eu chercher à droite et à gauche, je n'ai pas trouvé d'aide sur le sujet.
C'est quand même assez dommage de disposer d'un tel objet et de ne pas pouvoir l'exploiter.
J'espère que vous pourrez m'aider
Merci
[R] Créer/placer des objets dynamiquement dans un Groupbox
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Créer/placer des objets dynamiquement dans un Groupbox
Modifié en dernier par CleM71 le lun. 26 mai 2008 15:07, modifié 1 fois.
- Tlem
- Site Admin
- Messages : 11773
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Créer/placer des objets dynamiquement dans un Groupbox
Vous devriez sans doute utiliser GUICtrlCreateTreeView en rajoutant l'option $TVS_CHECKBOXES.
Regarder dans l'aide de AutoIt l'exemple fournit (Celui de la 3.2.12.0 est très complet mais sans $TVS_CHECKBOXES qu'il vous suffira de rajouter).
Regarder dans l'aide de AutoIt l'exemple fournit (Celui de la 3.2.12.0 est très complet mais sans $TVS_CHECKBOXES qu'il vous suffira de rajouter).
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é".
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é".
- moutelous
- Niveau 6
- Messages : 229
- Enregistré le : sam. 09 févr. 2008 19:51
- Localisation : Rennes
- Status : Hors ligne
Re: [..] Créer/placer des objets dynamiquement dans un Groupbox
Bonsoir,
L'option "GUICoordMode" vous permet de gérer les coordonnées relatives.
A+
L'option "GUICoordMode" vous permet de gérer les coordonnées relatives.
A+
A+
Re: [..] Créer/placer des objets dynamiquement dans un Groupbox
Bonjour,Tlem a écrit :Vous devriez sans doute utiliser GUICtrlCreateTreeView en rajoutant l'option $TVS_CHECKBOXES.
Regarder dans l'aide de AutoIt l'exemple fournit (Celui de la 3.2.12.0 est très complet mais sans $TVS_CHECKBOXES qu'il vous suffira de rajouter).
C'est en fait ce que j'utilisais précédemment, mais je me suis retrouvé contraint à abandonné cette solution par manque de souplesse, au niveau du traitement des Checkbox cochés dans le Treeview.
Au moment d'un clic en fin de formulaire, je souhaitais connaître quel Checkbox étaient cochés. Il me fallait également stocker des informations sur chaque Checkbox (un élément correspondant à un fichier, il me fallait stocker le nom du fichier, son chemin absolu, et diverses autres infos). Pour celà, j'étais passé par un tableau à deux dimensions, dont la première dimension était l'identifiant d'objet (qui est en hexadécimal à l'origine), que je convertissais en décimal pour être un indice valide. Lors de la création des éléments, j'avais donc par exemple
Code : Tout sélectionner
$TabItems[14562662]["FullPath"] = "C:\Test.zip"
A la lecture, je parcourais tous mes objets, mais l'identifiant de lecture en hexadécimal n'était pas le même que celui de la création ... Exemple : un objet se crée avec un identifiant 00x14568F, lors de sa lecture, il porte l'identifiant 00x17852D.
Je vais regarder de ce côté là, avec mes remerciements.moutelous a écrit :Bonsoir,
L'option "GUICoordMode" vous permet de gérer les coordonnées relatives.
A+
Merci Tlem également.
Re: [..] Créer/placer des objets dynamiquement dans un Groupbox
Après recherches, l'option "GUICoordMode" ne résoud pas mon problème.
Ca me permet de placer mes Checkbox de manière relative, donc par rapport au coin supérieur gauche de mon Groupbox, mais ça ne me permet toujours pas d'en éviter le dépassement.
Au final, j'obtiens donc exactement le même résultat qu'avec un positionnement absolu, à savoir celà :
Je suis toujours preneur de toute piste que vous pouvez me proposer
Merci !
Ca me permet de placer mes Checkbox de manière relative, donc par rapport au coin supérieur gauche de mon Groupbox, mais ça ne me permet toujours pas d'en éviter le dépassement.
Au final, j'obtiens donc exactement le même résultat qu'avec un positionnement absolu, à savoir celà :
Je suis toujours preneur de toute piste que vous pouvez me proposer
Merci !
Re: [..] Créer/placer des objets dynamiquement dans un Groupbox
Après demande sur le forum officiel, la solution n'existe pas.
Impossible donc d'utiliser "vraiment" l'ascenseur dans un Groupbox.
J'ai finalement abandonné cette solution au profit d'un TreeView, en me débrouillant pour qu'il réponde à mes besoins.
Cordialement.
Impossible donc d'utiliser "vraiment" l'ascenseur dans un Groupbox.
J'ai finalement abandonné cette solution au profit d'un TreeView, en me débrouillant pour qu'il réponde à mes besoins.
Cordialement.