PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV Mobile 2024 → AIDE sur AncrageAuContenu
AIDE sur AncrageAuContenu
Iniciado por Ian, jul., 18 2018 9:39 AM - 18 respostas
Membro registado
106 mensagems
Popularité : +3 (3 votes)
Publicado em julho, 18 2018 - 9:39 AM
Bien le bonjour,

je viens de passer en windev mobile 23 et une nouveauté m' interesse pas mal : AncrageAuContenu

Dans une zone répétée j'ai 3 libellés.
Dans l'init des 3 champs j'ai mis comme dans la doc pcsoft
MoiMême..AncrageAuContenu = aacAdapteEnHauteur


La hauteur des 3 champs s'adaptent automatiquement au contenu que je leur passe
La ligne de la zone répétée aussi
Mais les 3 champs se chevauchent ce qui rend le tout illisible.

J'aurai voulu que les champs se "poussent" selon leur hauteur de contenu.

Qu'est ce que j'ai loupé qui m'éviterait de jouer avec les ..HauteurInitial et ..Hauteur, svp ?

Merci d'avance

--
- ian -
Publicado em julho, 18 2018 - 10:14 AM
Je vous conseille de fixer l'ancrage directement dans l'éditeur. Vous éviterez probablement des comportements bizarres liés à l'ordre d'appel des traitements.
Membro registado
2.566 mensagems
Popularité : +222 (260 votes)
Publicado em julho, 18 2018 - 10:49 AM
Bonjour,

Voir le champ disposition qui agit comme un layout

--
Cordialement,

Philippe SAINT-BERTIN
Membro registado
106 mensagems
Popularité : +3 (3 votes)
Publicado em julho, 21 2018 - 8:34 AM
Bonjour,

wddev a écrit :
> Je vous conseille de fixer l'ancrage directement dans l'éditeur. Vous éviterez probablement des comportements bizarres liés à l'ordre d'appel des traitements.

Même en jouant avec les ancrages, ça n'a rien changé.

Philippe SB a écrit :
Bonjour,

Voir le champ disposition qui agit comme un layout

--
Cordialement,

Philippe SAINT-BERTIN


J'ai absolument besoin d'une zone répétée et le champ disposition ne peut pas être inséré dans une zone répétée ..

--
- ian -
Publicado em julho, 21 2018 - 9:23 AM
Bonjour
Utilisez des fenêtres internes dans votre zones répétées. Vous pourrez ainsi utiliser le champ disposition
Membro registado
794 mensagems
Popularité : +40 (42 votes)
Publicado em julho, 21 2018 - 1:37 PM
J'ai mis du temps à le faire moi-même. Le nouveau système Looper n'est pas suffisamment expliqué par PCSoft. Avec un Looper normal, vous ne pouvez mettre qu'un champ dont la taille change automatiquement en fonction du contenu.

Le champ de disposition peut être utilisé dans un Looper, mais vous devez complètement changer la façon dont vous concevez le Looper :

1) Vous devez créer un Looper où chaque ligne du Looper est vide.

2) Vous devez créer une fenêtre interne où vous définissez le contenu des lignes et utiliser la fonction ZoneRépétéeAjouteAjouteFI pour ajouter le contenu de chaque ligne. Cela vous permet également de créer des lignes avec des structures ou des contenus différents si vous le souhaitez.

3) ZoneRépétéeAjouteAjouteFI retourne le numéro de ligne ajouté. Vous devez utiliser cette valeur pour affecter les valeurs des champs ATT_ du Looper.

Je recommande de regarder l'exemple de WM Sports pour comprendre comment cela fonctionne.

C'est assez complexe et fastidieux, mais c'est comme ça que ça marche.

De plus, ce nouveau système implique de nouveaux problèmes (erreurs ?):

1) Si vous cachez la ligne pour une raison quelconque, elle peut sembler mauvaise lorsque vous la montrez à nouveau.

2) Si vous choisissez le mode de gestion de ligne comme mode non réutilisable, la longueur maximale du Looper est de 1000 lignes. Si vous choisissez de réutiliser les lignes, il y a des problèmes lors de la visualisation des lignes si elles sont de tailles différentes.

Je suppose qu'il sera corrigé dans la prochaine version.


Rubén
Membro registado
106 mensagems
Popularité : +3 (3 votes)
Publicado em julho, 23 2018 - 12:21 PM
Bonjour Ruben,

Je viens des tester vos explications.
J’ai créé une fenêtre interne, j'y mis un champ disposition qui contient 3 lignes. Dans chacun des lignes j'ai mis 3 libellés.

Dans le code d'un bouton de ma fenêtre j'ai fait :
POUR i = 1 _À_ 2

j = ZoneRépétéeAjouteFI(ZRTEST,FENINT_Test,Unechaine,Unechaine +RC+ Unechaine +RC+ Unechaine,Unechaine +RC+ Unechaine)

ZRTEST[j].ATT_NumFI = j

FIN


Dans ma fenêtre interne j'ai mis en fin d'initialisation :
Procedure MaFenêtre(LOCAL MonLib1 est une chaîne,LOCAL Monlib2 est une chaîne, LOCAL Monlib3 est une chaîne)
--------------------------------------------------------------------
DISPO1.lib1..AncrageAuContenu = aacAdapteEnHauteur
DISPO1.lib1 = MonLib1
DISPO1.lib2..AncrageAuContenu = aacAdapteEnHauteur
DISPO1.lib2 = Monlib2
DISPO1.lib3..AncrageAuContenu = aacAdapteEnHauteur
DISPO1.lib3 = Monlib3


Il y a du mieux, mes 3 libellés ne se chevauchent plus.
Le 1er libellé s’adapte au continue, ainsi que le 2e. Mais le 3e est coupé par la fin de ligne de ma zone répétée.

Aurais-je loupé quelques choses ?

Merci d’avance

--
- ian -
Membro registado
794 mensagems
Popularité : +40 (42 votes)
Publicado em julho, 23 2018 - 3:32 PM
Salut. Pas besoin d'utiliser du code sur les ancres dans la fenêtre interne. Simplement dans l'éditeur de la fenêtre interne, définissez le champ de mise en page avec les étiquettes dans chacune des 3 sections. Définissez ensuite que chaque section doit être adaptée à son contenu.

Une fois que vous avez fait cela, vous n'avez plus qu'à assigner les valeurs aux étiquettes pour qu'elles correspondent au contenu du texte.

Rubén
Membro registado
106 mensagems
Popularité : +3 (3 votes)
Publicado em julho, 23 2018 - 5:20 PM
merci pour ma réponse,

mais je ne comprends pas ce que vous me dites..

Rubén Sánchez Peña a écrit :
> Simplement dans l'éditeur de la fenêtre interne, définissez le champ de mise en page avec les étiquettes dans chacune des 3 sections. Définissez ensuite que chaque section doit être adaptée à son contenu.
qu'est ce que vous entendez par "champ de mise en page" ?

--
- ian -
Membro registado
794 mensagems
Popularité : +40 (42 votes)
Publicado em julho, 23 2018 - 6:38 PM
La première image montre ma fenêtre interne dans l'éditeur. Dans cette fenêtre interne, il y a un champ d'arrangement contenant les différentes lignes de texte.






Pour faire changer la taille d'un texte statique en fonction de son contenu, nous le sélectionnons et dans les ancres, nous sélectionnons les options de l'image2.






Maintenant, dans notre code de fenêtre interne, nous n'avons plus qu'à assigner la valeur des étiquettes, comme le montre l'image 3.






C'est un peu fastidieux, mais il faut s'y habituer.

Rubén
Publicado em julho, 24 2018 - 6:39 AM
Ruben, est il possible de mettre un mini exemple sur http://depot.pcsoft.fr/ ?
Je pensait avoir tout compris, mais j'avoue qu'après ton dernier post , je ne comprend plus rien.
il me manque sûrement des détails.
Membro registado
794 mensagems
Popularité : +40 (42 votes)
Publicado em julho, 24 2018 - 12:50 PM
Bonjour, vous avez déjà l'exemple officiel de WM Sport de WM23 qui utilise cette méthode.

J'ai donné un exemple simple:

https://depot.pcsoft.fr/resource.awp…

Rubén
Mensagem modificada, julho, 24 2018 - 1:19 PM
Publicado em julho, 24 2018 - 5:07 PM
Merci Ruben,
je n'avait pas vu que wmsport le faisait déjà.
mais l'exemple fait tellement de chose qu'il est bon d'avoir un exemple simple.
Membro registado
106 mensagems
Popularité : +3 (3 votes)
Publicado em julho, 28 2018 - 4:19 PM
Bonjour Ruben,

en suivant pas à pas ce que tu m'as dit, je n'ai plus le chevauchement de mes 3 libellés mais ma ligne de mon zone répétée coupe mon dernier libellé..

--
- ian -
Publicado em julho, 29 2018 - 1:53 PM
Ian a écrit :
Bonjour Ruben,

en suivant pas à pas ce que tu m'as dit, je n'ai plus le chevauchement de mes 3 libellés mais ma ligne de mon zone répétée coupe mon dernier libellé..

--
- ian -


Ruben a fourni un dépôt, il suffit de le téléchargé.
Membro registado
794 mensagems
Popularité : +40 (42 votes)
Publicado em julho, 29 2018 - 2:00 PM
Salut, essayez d'agrandir cette dernière ligne et/ou d'ajouter une marge inférieure dans Style->Marge Externe->Marge Externe->Marges.







Rubén
Membro registado
106 mensagems
Popularité : +3 (3 votes)
Publicado em agosto, 23 2018 - 11:08 AM
Rubén Sánchez Peña a écrit :
Salut, essayez d'agrandir cette dernière ligne et/ou d'ajouter une marge inférieure dans Style->Marge Externe->Marge Externe->Marges.


> Rubén

Bonjour Ruben,

désolé je n'ai pas eu le temps tester ta proposition, je vais la tester d'ici lundi.

Par contre, je viens de remarquer un soucis avec le champ disposition sur ANDROID :
j'ai 4 boutons dans un champ disposition vertical. Je rends invisible le bouton 2. L 'espace qu'il occupait reste visible..
les autres boutons ne s'agencent pas seuls comme j'ai pu voir dans le webinaire.

Cela fonctionne sur le simulateur mais par sur un téléphone ANDROID. As-tu une idée à me proposer stp ?

--
- ian -
Membro registado
106 mensagems
Popularité : +3 (3 votes)
Publicado em novembro, 27 2018 - 2:13 PM
Bonjour à tous,

je relance le sujet. J'ai donc suivit la méthode de Rubén à la lettre et celà fonctionne :

Rubén Sánchez Peña a écrit :
Le champ de disposition peut être utilisé dans un Looper, mais vous devez complètement changer la façon dont vous concevez le Looper :

1) Vous devez créer un Looper où chaque ligne du Looper est vide.

2) Vous devez créer une fenêtre interne où vous définissez le contenu des lignes et utiliser la fonction ZoneRépétéeAjouteAjouteFI pour ajouter le contenu de chaque ligne. Cela vous permet également de créer des lignes avec des structures ou des contenus différents si vous le souhaitez.

3) ZoneRépétéeAjouteAjouteFI retourne le numéro de ligne ajouté. Vous devez utiliser cette valeur pour affecter les valeurs des champs ATT_ du Looper.


Sauf je rencontre un problème lorsque j'actualise ma fenêtre ou ma ZR :

Le contenues de ma zonerépétée ne correspond pas à mes Attributs. Par exemple, les champs de la 1ere ligne de ma ZR sont égaux à ceux de la dernière ligne alors que les Attributs sont belles et bien différents. Je suppose que Ruben y faisait allusion dans son message

Rubén Sánchez Peña a écrit :
De plus, ce nouveau système implique de nouveaux problèmes (erreurs ?):

1) Si vous cachez la ligne pour une raison quelconque, elle peut sembler mauvaise lorsque vous la montrez à nouveau.

2) Si vous choisissez le mode de gestion de ligne comme mode non réutilisable, la longueur maximale du Looper est de 1000 lignes. Si vous choisissez de réutiliser les lignes, il y a des problèmes lors de la visualisation des lignes si elles sont de tailles différentes.


Avez-vous un moyen de contourner ce problème svp ?

--
- ian -
Membro registado
794 mensagems
Popularité : +40 (42 votes)
Publicado em novembro, 28 2018 - 3:24 PM
Salut, Avez-vous des exemples d'images ?


Rubén