# Configurer un objet sans écrire le code habituel

**URL:** <https://forum.xojo.com/t/configurer-un-objet-sans-ecrire-le-code-habituel/71704>\
**Category:** Français\
**Created:** [August 13, 2022, 1:44pm UTC](https://forum.xojo.com/t/configurer-un-objet-sans-ecrire-le-code-habituel/71704 "2022-08-13T13:44:15Z")\
**Posts on this page:** 16\
**Page:** 2

<div class="post-metadata">

**Author:** ![Hamery\_Eric1](https://forum.xojo.com/user_avatar/forum.xojo.com/hamery_eric1/32/2128_2.png) [@Hamery\_Eric1](https://forum.xojo.com/u/Hamery_Eric1)\
**Post date:** [August 14, 2022, 10:11pm UTC](https://forum.xojo.com/t/configurer-un-objet-sans-ecrire-le-code-habituel/71704/21 "2022-08-14T22:11:41Z")

</div>

Il déplace les objets, il ne les met pas à l’échelle

---

<div class="post-metadata">

**Author:** ![Michel\_Bujardet](https://forum.xojo.com/user_avatar/forum.xojo.com/michel_bujardet/32/252_2.png) [@Michel\_Bujardet](https://forum.xojo.com/u/Michel_Bujardet)\
**Post date:** [August 15, 2022, 12:15am UTC](https://forum.xojo.com/t/configurer-un-objet-sans-ecrire-le-code-habituel/71704/22 "2022-08-15T00:15:27Z")

</div>

Pour cela, le Locking mechanism suffit dans bien des cas.

---

<div class="post-metadata">

**Author:** ![Sebastien\_REMY](https://forum.xojo.com/user_avatar/forum.xojo.com/sebastien_remy/32/1946_2.png) [@Sebastien\_REMY](https://forum.xojo.com/u/Sebastien_REMY)\
**Post date:** [August 15, 2022, 4:57am UTC](https://forum.xojo.com/t/configurer-un-objet-sans-ecrire-le-code-habituel/71704/23 "2022-08-15T04:57:45Z")

</div>

Il peut aussi les mettre à l’échelle si tu l’accroche à gauche ET à droite la largeur change et avec haut ET BAS la hauteur change au redimensionnement de le fenêtre

---

<div class="post-metadata">

**Author:** ![Michel\_Bujardet](https://forum.xojo.com/user_avatar/forum.xojo.com/michel_bujardet/32/252_2.png) [@Michel\_Bujardet](https://forum.xojo.com/u/Michel_Bujardet)\
**Post date:** [August 15, 2022, 7:05am UTC](https://forum.xojo.com/t/configurer-un-objet-sans-ecrire-le-code-habituel/71704/24 "2022-08-15T07:05:36Z")

</div>

Lock sur les quatre côtés ne fonctionne pas bien. C’est même pour cela que j’ai développé RubberViews au départ pour mes besoins propres.

---

<div class="post-metadata">

**Author:** ![Jean-Yves\_Pochez](https://forum.xojo.com/user_avatar/forum.xojo.com/jean-yves_pochez/32/21769_2.png) [@Jean-Yves\_Pochez](https://forum.xojo.com/u/Jean-Yves_Pochez)\
**Post date:** [August 15, 2022, 7:26am UTC](https://forum.xojo.com/t/configurer-un-objet-sans-ecrire-le-code-habituel/71704/25 "2022-08-15T07:26:06Z")

</div>

> [@Hamery\_Eric1](#):
>
> Il déplace les objets, il ne les met pas à l’échelle

si on lock les deux cotés d’un controlitem, il le met à l’echelle, en fait il l’agrandit de la même quantité que ce dont on agrandit la fenetre  
95% de ton programme peut être traité de cette facon. il y a quelques exceptions où il faut faire quelques lignes de programme, ou utiliser rubberview.

---

<div class="post-metadata">

**Author:** ![Jean\_Luc\_Pellerin](https://forum.xojo.com/user_avatar/forum.xojo.com/jean_luc_pellerin/32/11479_2.png) [@Jean\_Luc\_Pellerin](https://forum.xojo.com/u/Jean_Luc_Pellerin)\
**Post date:** [August 30, 2022, 9:16am UTC](https://forum.xojo.com/t/configurer-un-objet-sans-ecrire-le-code-habituel/71704/26 "2022-08-30T09:16:58Z")

</div>

Tu devrais voir la listBox en placant chaque carte dans une cellule  
La LB serait completement invisible

---

<div class="post-metadata">

**Author:** ![Hamery\_Eric1](https://forum.xojo.com/user_avatar/forum.xojo.com/hamery_eric1/32/2128_2.png) [@Hamery\_Eric1](https://forum.xojo.com/u/Hamery_Eric1)\
**Post date:** [August 30, 2022, 9:38am UTC](https://forum.xojo.com/t/configurer-un-objet-sans-ecrire-le-code-habituel/71704/27 "2022-08-30T09:38:20Z")

</div>

Merci pour vos infos…

---

<div class="post-metadata">

**Author:** ![Thomas\_ROBISSON](https://forum.xojo.com/user_avatar/forum.xojo.com/thomas_robisson/32/15868_2.png) [@Thomas\_ROBISSON](https://forum.xojo.com/u/Thomas_ROBISSON)\
**Post date:** [August 30, 2022, 10:55am UTC](https://forum.xojo.com/t/configurer-un-objet-sans-ecrire-le-code-habituel/71704/28 "2022-08-30T10:55:26Z")

</div>

L’alignement par défaut de Xojo ne me plaisait pas et j’avais écrit cette Method que j’appelle de la manière suivante :

`DecPosCtrl(Self)`  
(si je l’appelle de la fenêtre elle même, sinon tu mets la fenêtre en question).

Et voilà la Method qui boucle sur les éléments de l’interface. Peut-être que ça peut t’aider à peaufiner ce que tu souhaites faire :

```auto
Dim CeCtrl as DesktopControl
Dim CeRectCtrl as DesktopUIControl ' Ces DesktopUIControl n'ont pas la même position suivant compil Carbon ou Cocoa
#If TargetCocoa Then
  Const DecTextField as Int16 = -1
  Const DecTextArea as Int16 = 0
  Const DecLabel as Int16 = 0 ' Avant j'avais mis -1, puis 1, puis après 0
  Const DecSlider as Int16 = 2
  Const DecPrgBar as Int16 = 0
  Const DecUpDwnArrws as Int16 = -1
  ' #ElseIf TargetCarbon Then ' Voir TypeCompil, je fais autrement pour voir plateforme
  ' Const DecTextField as Int16 = 0
  ' Const DecTextArea as Int16 = 0
  ' Const DecLabel as Int16 = 0
  ' Const DecSlider as Int16 = 2
  ' Const DecPrgBar as Int16 = 3
  ' Const DecUpDwnArrws as Int16 = 0
#ElseIf TargetWindows Then
  Const DecTextField as Int16 = 0
  Const DecTextArea as Int16 = 0
  Const DecLabel as Int16 = 0
  Const DecSlider as Int16 = 2
  Const DecPrgBar as Int16 = 3
  Const DecUpDwnArrws as Int16 = 0
#EndIf

For Each CeCtrl in CetteFenetr.Controls
  ' MessageBox CeCtrl.Name + EndOfLine + str(CeCtrl.Index) + EndOfLine + "DesktopUIControl ? : " + CStr(CeCtrl isa DesktopUIControl)
  If CeCtrl isa DesktopUIControl Then
    If CeCtrl isa DesktopTextField Then
      CeRectCtrl = DesktopUIControl(CeCtrl) ' Et NON CeCtrl
      CeRectCtrl.Top = CeRectCtrl.Top + DecTextField
    ElseIf CeCtrl isa DesktopTextArea Then
      CeRectCtrl = DesktopUIControl(CeCtrl) ' Et NON CeCtrl
      CeRectCtrl.Top = CeRectCtrl.Top + DecTextArea
    ElseIf CeCtrl isa DesktopLabel Then
      CeRectCtrl = DesktopUIControl(CeCtrl) ' Et NON CeCtrl
      CeRectCtrl.Top = CeRectCtrl.Top + DecLabel
    ElseIf CeCtrl isa DesktopSlider Then
      CeRectCtrl = DesktopUIControl(CeCtrl) ' Et NON CeCtrl
      CeRectCtrl.Top = CeRectCtrl.Top + DecSlider
    ElseIf CeCtrl isa DesktopProgressBar Then
      CeRectCtrl = DesktopUIControl(CeCtrl) ' Et NON CeCtrl
      CeRectCtrl.Top = CeRectCtrl.Top + DecPrgBar
    ElseIf CeCtrl isa DesktopUpDownArrows Then
      CeRectCtrl = DesktopUIControl(CeCtrl) ' Et NON CeCtrl
      CeRectCtrl.Top = CeRectCtrl.Top + DecUpDwnArrws
    End If ' TextField , (TextArea) , Label , Slider , ProgressBar, UpDownArrows
  End If ' DesktopUIControl
Next CeCtrl

```

---

<div class="post-metadata">

**Author:** ![Hamery\_Eric1](https://forum.xojo.com/user_avatar/forum.xojo.com/hamery_eric1/32/2128_2.png) [@Hamery\_Eric1](https://forum.xojo.com/u/Hamery_Eric1)\
**Post date:** [August 30, 2022, 11:33am UTC](https://forum.xojo.com/t/configurer-un-objet-sans-ecrire-le-code-habituel/71704/29 "2022-08-30T11:33:24Z")

</div>

Super je vais tester, je te dis

---

<div class="post-metadata">

**Author:** ![Hamery\_Eric1](https://forum.xojo.com/user_avatar/forum.xojo.com/hamery_eric1/32/2128_2.png) [@Hamery\_Eric1](https://forum.xojo.com/u/Hamery_Eric1)\
**Post date:** [August 30, 2022, 11:38am UTC](https://forum.xojo.com/t/configurer-un-objet-sans-ecrire-le-code-habituel/71704/30 "2022-08-30T11:38:50Z")

</div>

il manque des éléments d’info comme par exemple j’ai mis le nom de la méthode ok mais le paramètre quelle type et quelle nom ?

---

<div class="post-metadata">

**Author:** ![Thomas\_ROBISSON](https://forum.xojo.com/user_avatar/forum.xojo.com/thomas_robisson/32/15868_2.png) [@Thomas\_ROBISSON](https://forum.xojo.com/u/Thomas_ROBISSON)\
**Post date:** [August 30, 2022, 12:07pm UTC](https://forum.xojo.com/t/configurer-un-objet-sans-ecrire-le-code-habituel/71704/31 "2022-08-30T12:07:08Z")

</div>

Ah merde, désolé. La Method s’appelle **DecPosCtrl** et il faut passer en paramètre :  
DecPosCtrl as DesktopWindow

Je réponds depuis mon tel, je ne suis plus devant l’ordi

---

<div class="post-metadata">

**Author:** ![Hamery\_Eric1](https://forum.xojo.com/user_avatar/forum.xojo.com/hamery_eric1/32/2128_2.png) [@Hamery\_Eric1](https://forum.xojo.com/u/Hamery_Eric1)\
**Post date:** [August 30, 2022, 1:10pm UTC](https://forum.xojo.com/t/configurer-un-objet-sans-ecrire-le-code-habituel/71704/32 "2022-08-30T13:10:14Z")

</div>

j’ai mis : CetteFenetre as Window

mais le résultat c’est que le contenu ne ce redimensionne pas et au lâchement du bouton souris il y a une erreur qui fait planté l’app.

cela dis j’ai déjà fait a la dur les modification dans mes fenêtres ou il y avais besoin, donc j’en n’ai plus vraiment besoin

mais merci quand même, ta solution c’est celle que je préfère de toutes celle qui m’ont été proposé

---

<div class="post-metadata">

**Author:** ![Thomas\_ROBISSON](https://forum.xojo.com/user_avatar/forum.xojo.com/thomas_robisson/32/15868_2.png) [@Thomas\_ROBISSON](https://forum.xojo.com/u/Thomas_ROBISSON)\
**Post date:** [August 30, 2022, 4:08pm UTC](https://forum.xojo.com/t/configurer-un-objet-sans-ecrire-le-code-habituel/71704/33 "2022-08-30T16:08:45Z")

</div>

Oui je me suis planté, il faut passer :  
CetteFenetr as DesktopWindow  
si tu es en API2 ou  
CetteFenetr as Window  
pour API1, auquel cas faut aussi changer les objets (DesktopLabel → Label , etc.)

Faut faire des essais, bon courage.

---

<div class="post-metadata">

**Author:** ![Hamery\_Eric1](https://forum.xojo.com/user_avatar/forum.xojo.com/hamery_eric1/32/2128_2.png) [@Hamery\_Eric1](https://forum.xojo.com/u/Hamery_Eric1)\
**Post date:** [August 30, 2022, 4:31pm UTC](https://forum.xojo.com/t/configurer-un-objet-sans-ecrire-le-code-habituel/71704/34 "2022-08-30T16:31:23Z")

</div>

je garde ton code qui est un belle exemple d’inspiration pour mes prochains travaux, j’ai enfin un exemple pour ce genre de manipulation d’objet par le code.

Merci beaucoup pour ce code 🙂

---

<div class="post-metadata">

**Author:** ![Jean\_Luc\_Pellerin](https://forum.xojo.com/user_avatar/forum.xojo.com/jean_luc_pellerin/32/11479_2.png) [@Jean\_Luc\_Pellerin](https://forum.xojo.com/u/Jean_Luc_Pellerin)\
**Post date:** [September 2, 2022, 7:02pm UTC](https://forum.xojo.com/t/configurer-un-objet-sans-ecrire-le-code-habituel/71704/35 "2022-09-02T19:02:04Z")

</div>

> [@Christian\_Schmitz](#):
>
> Peut-être le fonctionne [Control(Index)](https://documentation.xojo.com/api/user_interface/desktop/desktopwindow.html#desktopwindow-control) peut aider?

Hello Christian  
you could have written

1/ Cela fonctionne peut être avec Control(Index)  
2/ Tu peux peut être utiliser Control(Index)

Bye

---

<div class="post-metadata">

**Author:** ![Jean\_Luc\_Pellerin](https://forum.xojo.com/user_avatar/forum.xojo.com/jean_luc_pellerin/32/11479_2.png) [@Jean\_Luc\_Pellerin](https://forum.xojo.com/u/Jean_Luc_Pellerin)\
**Post date:** [September 2, 2022, 7:02pm UTC](https://forum.xojo.com/t/configurer-un-objet-sans-ecrire-le-code-habituel/71704/36 "2022-09-02T19:02:55Z")

</div>

Excuse moi Christian je pensais que le message etait privé !  
jl

[Previous page](https://forum.xojo.com/t/configurer-un-objet-sans-ecrire-le-code-habituel/71704.md?page=1)
