PB à toute heure et à tout moment. (à parcourir avec modération)

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#26 21-05-2015 14:29:40

legagneur  
Membre Geek
Lieu: Yaoundé
Date d'inscription: 02-10-2013
Messages: 81
Pépites: 395
Banque: 0

Re: Ajustage automatique des frames et des controls

Bonsoir,
Merci beaucoup Nepthis, ta solution nous donne un début de solution. Je remarque qu'elle ne marche pas sur des fenêtres avec des TAB Control. Je vais éssayer d'adapter ce bout de code à ces cas là et je reviens vers vous en cas de problème.
Une fois de plus merci pour ce coup de pouce.

Hors ligne

 

#27 17-06-2015 09:01:12

legagneur  
Membre Geek
Lieu: Yaoundé
Date d'inscription: 02-10-2013
Messages: 81
Pépites: 395
Banque: 0

Re: Ajustage automatique des frames et des controls

Bonjour,
Je viens ici vous dire merci pour toutes vos contributions, et la solution de Nephtis m'a apporté des solutions pour des frames ne possédant pas TabControl.
J'ai voulu faire de la récursivité pour atteindre les controls qui se trouvent à l'intérieur des Tabcontrols mais cela ne marche pas.
J'ai édité la structure de ma frame et je constate que nous avons par tantôt les TabControl, tantôt des userObject. Je penses peut être que c'est pour cette raison que la récursivité ne peut être appliquée ici, A moins que je sois en train de me tromper. Dans le cas où je ne me trompes pas, comment faire pour atteindre les Controls qui sont imbriqués dans dans des TabControl pour qu'eux aussi, on puisse appliqué la formule de resize ?.

Hors ligne

 

#28 17-06-2015 14:13:52

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: Ajustage automatique des frames et des controls

C'est simple : quand tu parcours tes contrôles d'une window, tu itères sur les éléments du tableau control[] de la window.
Si l'élément en cours est un tab ( tu peux récupérer la propriété classdefinition de l'objet et tester si ta classdefinition.datatypeof = 'tab') alors il faut recommencer une boucle sur le tableau control[] de cet objet

Code: pb

powerobject p
classdefinition c

p = tab_1
c = p.classdefinition
if c.datatypeof = 'tab' then
    //itérer sur c.control[]
end if

The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#29 25-06-2015 08:44:00

legagneur  
Membre Geek
Lieu: Yaoundé
Date d'inscription: 02-10-2013
Messages: 81
Pépites: 395
Banque: 0

Re: Ajustage automatique des frames et des controls

Bonjour,
Comment résoudre cet erreur? Ceci arrive lorsque je veux parcourir par exemple les controls incluent dans une Tab

"Incompatible types to assignment : Datawindow, UserObject"

Hors ligne

 

#30 29-06-2015 10:08:13

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: Ajustage automatique des frames et des controls

Tu pourrais poster l'extrait du code où l'erreur se produit ? On dirait que tu essaie d'affecter un powerobject dans une variable de type datawindow...

Ajout:
Le numéro de la ligne fautive et le nom de fonction sont normalement indiqués dans le message d'erreur.

Dernière modification par seki (29-06-2015 13:50:03)


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#31 29-06-2015 13:31:33

Dadone  
Membre Power Geek
Lieu: Avon (Seine et Marne)
Date d'inscription: 19-02-2007
Messages: 252
Pépites: 985
Banque: 0
Site web

Re: Ajustage automatique des frames et des controls

legagneur a écrit:

Bonjour,
Comment résoudre cet erreur? Ceci arrive lorsque je veux parcourir par exemple les controls incluent dans une Tab

"Incompatible types to assignment : Datawindow, UserObject"

Voilà une fonction qui parcours tous les objets d'une fenêtre et leur envoie un message


La déclaration de cette fonction est :

Code: pb

  of_TriggerEvent() access protected return Integer
  arguments as_event      type string pass by value
            ago_control[] type graphicobjet pass by value


Le traitement est :

Code: pb

Tab ltab
Userobject luo
Integer li, li_maxControl

li_maxControl = Upperbound(ago_control[]) 

If gnvo_parametre.of_Geterreur() = true then return -1

For li = 1 to li_maxControl
  
  Choose Case Typeof (ago_control[li])

   Case Tab!
      ltab = ago_control[li]
      ltab.triggerEvent(as_event)
      of_triggerEvent(as_event,ltab.control[])
            
    Case Userobject!
      luo = ago_control[li]
      luo.triggerEvent(as_event)
      of_triggerEvent(as_event,luo.control[])
            
    Case Else
      ago_control[li].triggerEvent(as_event)
  End choose
Next    
    
Return 1

Dernière modification par Dadone (29-06-2015 13:35:24)

Hors ligne

 

#32 11-11-2016 15:29:49

legagneur  
Membre Geek
Lieu: Yaoundé
Date d'inscription: 02-10-2013
Messages: 81
Pépites: 395
Banque: 0

Re: Ajustage automatique des frames et des controls

Bonsoir,

Je me permet de réveiller un sujet qui date déjà un peu. Je voudrai illustrer mon propos par deux images  qui sont les suivantes
Image 1 : https://lut.im/nX7z64u3X7/kE22vqBrfx9q36mk.PNG]

Image 2 : https://lut.im/x1Lh2I0BZn/27AxI8mzRixJxV5F.PNG

Dans le cas de l'image 2 ou la Frame 2, la solution proposé par Nephtis fonctionne à merveille et résous mon problème initial.

Cependant, dans le cas de l'image 1 ou la Frame 1, avec des Tabpages et des controls encapsulés cela pose tous les problèmes. Par exemple, Il est impossible de pouvoir récupérer les controls  "Static Text 1", "Sle_1", "Tab page 2 1", "Static Text 2", "Sle_2" afin de récuperer leurs dimensions initiales et de recalculer les nouvelles en fonction du ratio que nous nous aurons fixer.

J'ai essayé avec la récursivité mais cela n'a pas marché. Peut-être parce que je m'y prenais mal.

Je sollicite donc votre aide afin que ce problème soit définitivement resolu

Merci

EDIT (seki) : j'ai mis les images en direct au lieu de suivre un lien pénible

Hors ligne

 

#33 17-11-2016 09:49:57

Dadone  
Membre Power Geek
Lieu: Avon (Seine et Marne)
Date d'inscription: 19-02-2007
Messages: 252
Pépites: 985
Banque: 0
Site web

Re: Ajustage automatique des frames et des controls

legagneur a écrit:

Bonsoir,

Je me permet de réveiller un sujet qui date déjà un peu. Je voudrai illustrer mon propos par deux images  qui sont les suivantes
Image 1 : https://lut.im/nX7z64u3X7/kE22vqBrfx9q36mk.PNG

Image 2 : https://lut.im/x1Lh2I0BZn/27AxI8mzRixJxV5F.PNG

Dans le cas de l'image 2 ou la Frame 2, la solution proposé par Nephtis fonctionne à merveille et résous mon problème initial.

Cependant, dans le cas de l'image 1 ou la Frame 1, avec des Tabpages et des controls encapsulés cela pose tous les problèmes. Par exemple, Il est impossible de pouvoir récupérer les controls  "Static Text 1", "Sle_1", "Tab page 2 1", "Static Text 2", "Sle_2" afin de récuperer leurs dimensions initiales et de recalculer les nouvelles en fonction du ratio que nous nous aurons fixer.

J'ai essayé avec la récursivité mais cela n'a pas marché. Peut-être parce que je m'y prenais mal.

Je sollicite donc votre aide afin que ce problème soit définitivement resolu

Merci

La précédente fonction que j'ai donné est récursive et fonctionne.

Hors ligne

 

#34 07-12-2016 10:49:37

legagneur  
Membre Geek
Lieu: Yaoundé
Date d'inscription: 02-10-2013
Messages: 81
Pépites: 395
Banque: 0

Re: Ajustage automatique des frames et des controls

Dadone a écrit:

La précédente fonction que j'ai donné est récursive et fonctionne.

Bonjour Dadone,

Je dois vous avouer que je n'arrive pas à integrer votre fonction.

Pouvez-vous des bouts de code avec leur enchainement dans les différentes fonctions?

Merci

Hors ligne

 

#35 07-12-2016 13:15:55

Dadone  
Membre Power Geek
Lieu: Avon (Seine et Marne)
Date d'inscription: 19-02-2007
Messages: 252
Pépites: 985
Banque: 0
Site web

Re: Ajustage automatique des frames et des controls

legagneur a écrit:

Dadone a écrit:

La précédente fonction que j'ai donné est récursive et fonctionne.

Bonjour Dadone,

Je dois vous avouer que je n'arrive pas à integrer votre fonction.

Pouvez-vous des bouts de code avec leur enchainement dans les différentes fonctions?

Merci

En effet, désolé, dans le code donné il y a une référence à une classe qui n'existe pas : gnvo_parametre
Dans une premier temps, on peut sans passer (il suffit de ne pas l'utiliser) car c'est une gestion d'erreur afin d'arrêter le traitement récursif lorsqu'une erreur c'est produite lors des différents appels.
A part cet aspect, la routine est exhaustive.

Dernière modification par Dadone (07-12-2016 13:20:07)

Hors ligne

 

#36 10-12-2016 11:33:21

legagneur  
Membre Geek
Lieu: Yaoundé
Date d'inscription: 02-10-2013
Messages: 81
Pépites: 395
Banque: 0

Re: Ajustage automatique des frames et des controls

Dadone a écrit:

En effet, désolé, dans le code donné il y a une référence à une classe qui n'existe pas : gnvo_parametre
Dans une premier temps, on peut sans passer (il suffit de ne pas l'utiliser) car c'est une gestion d'erreur afin d'arrêter le traitement récursif lorsqu'une erreur c'est produite lors des différents appels.
A part cet aspect, la routine est exhaustive.

Bonjour Dadone,

En effet, mes préocupations pour être concretes sont les suivantes :

1- Nephtis avait proposé des éléments dans l'évènement Open, Puis dans le resize de chaque frame. Ce qui marchait plutôt bien pour des frames sans Tab Control ou User Object.

2- Vous avez proposé une fonction récursive qui viendrait résoudre le problème ce problème.

Cependant, je ne vois pas comment sauvegarder les dimensions originales et ensuite recalculer les nouvelles dimensions à partir des anciennes en utilisant votre fonction.

C'est pour cela que je vous prie de bien vouloir indiquer comment intégrer la fonction récursive dans ce qu'à proposer Nephtis.

Merci pour votre aide

Hors ligne

 

#37 19-01-2017 13:00:04

legagneur  
Membre Geek
Lieu: Yaoundé
Date d'inscription: 02-10-2013
Messages: 81
Pépites: 395
Banque: 0

Re: Ajustage automatique des frames et des controls

Bonjour,

Je n'ai pas de solution à mon problème qui date déjà un peu.

J'aimerai savoir si mon problème a été mal posé car je suis déjà, il faut l'avouer un peu désespérer.

Hors ligne

 

#38 19-01-2017 14:05:27

Dadone  
Membre Power Geek
Lieu: Avon (Seine et Marne)
Date d'inscription: 19-02-2007
Messages: 252
Pépites: 985
Banque: 0
Site web

Re: Ajustage automatique des frames et des controls

legagneur a écrit:

Bonjour,

Je n'ai pas de solution à mon problème qui date déjà un peu.

J'aimerai savoir si mon problème a été mal posé car je suis déjà, il faut l'avouer un peu désespérer.

Il faut enregistrer les dimensions originales dans un tableau qui sera une propriété de classe, avec une correspondance avec les références.

Dernière modification par Dadone (19-01-2017 14:06:22)

Hors ligne

 

#39 20-01-2017 11:28:19

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 720
Pépites: 11,343
Banque: 100,221,387,868,884,300
Site web

Re: Ajustage automatique des frames et des controls

Est-ce que mon nv_auto_resizer ne ferait pas l'affaire ? ( http://pbadonf.fr/forum/viewtopic.php?pid=33953#p33953 )


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22