Après windows pour les nuls, voici PB pour les bons (ou presque).

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.

#1 17-05-2011 10:14:18

dark ryus  
Membre completement Geek
Lieu: Nancy
Date d'inscription: 30-09-2008
Messages: 129
Pépites: 700
Banque: 0
Site web

[RESOLU] Userobject dans une datawindow

Bonjour

Peut-on ajouter un userobject dans une datawindow...

J'ai un userobject constitué de plusieurs images que j'aimerais ajouter plusieurs fois dans ma datawindow

Merci d'avance

Dernière modification par dark ryus (17-05-2011 16:03:10)

Hors ligne

 

#2 17-05-2011 12:45:55

dark ryus  
Membre completement Geek
Lieu: Nancy
Date d'inscription: 30-09-2008
Messages: 129
Pépites: 700
Banque: 0
Site web

Re: [RESOLU] Userobject dans une datawindow

J'ai essayé de feinté le truc en mettant une datawindow dw_mesimages dans me datawindow principale, mais elle n'apparait pas, je ne la voit pas....

Hors ligne

 

#3 17-05-2011 12:59:47

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: [RESOLU] Userobject dans une datawindow

C'est pas claire comme problématique.
Déjà il convient de faire une distinction entre l'objet datawindow (sql formaté en représentation graphique) et la classe datawindow dont l'objet datawindow n'est qu'une propriété.
La classe datawindow n'a pas de conteneur (autrement ce n'est pas une classe d'accueil comme peut l'être une classe fenêtre ou onglet) donc elle ne peut pas accepter d'autre classes...et l'objet datawindow n'est pas une classe donc elle ne peut pas accepter d'autre classes....
En revanche une classe de type user objet accueillant une classe locale de type datawindow pourra lui même accepter une autre classe de type userObject.

Dernière modification par Dadone (17-05-2011 13:02:30)

Hors ligne

 

#4 17-05-2011 13:15:38

dark ryus  
Membre completement Geek
Lieu: Nancy
Date d'inscription: 30-09-2008
Messages: 129
Pépites: 700
Banque: 0
Site web

Re: [RESOLU] Userobject dans une datawindow

En gros je veux mettre des images perso pour faire les entête des colonnes de mes datawindow.
Ces images sont en 3 parties, le bord gauche, le milieu extensible, et le bord droit.

J'ai fait un userobject avec ces 3 images que j'aimerais utiliser dans mes entêtes de colonne, mais cela ne fonctionne pas.
Donc j'ai essayé de mettre ces 3 images dans une datawindow, sans requête, mais quand j'ajoute celle ci dans une autre datawindow, elle ne s'affiche pas, pourtant mes images sont bien là.

Dernière modification par dark ryus (17-05-2011 13:16:15)

Hors ligne

 

#5 17-05-2011 14:17:08

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: [RESOLU] Userobject dans une datawindow

Si je comprends il s'agit uniquement d'une représentation graphique cela n'a rien à voir avec des user objet.
Normalement la représentation graphique se fait par l'insertion d''image dans l'objet datawindw (picture object).

Hors ligne

 

#6 17-05-2011 14:43:18

vince.janssens  
Membre Geek
Date d'inscription: 02-06-2008
Messages: 69
Pépites: 189
Banque: 0

Re: [RESOLU] Userobject dans une datawindow

La meilleuire façon selon moi de faire ce que tu veux, est de coder dans un ancêtre commun  à toutes tes datawindows (dans le constructor) un appel à une fonction qui va créer dynamiquement un ensemble de bitmaps (gauche + centre + droit) à chaque entête de colonne.

Comme chaque entête de colonne aura un nom du style (nom_colonne_t), il te sera facile de les récupérer afin de connaitre chaque position (x et y + width et height), de telle sorte qu'il ne te restera plus qu'à créeer chaque bitmap au dessus de ton entête.
Et si tu joue avec les tris, lors d'un clic sur l'entête, il suffit de modifier légèrement ton script qui s'attendait à recevoir en paramètre un nom_colonne_t et de l'adapter à recevoir un string du genre b_nom_colonne_t par exemple)...

Le code d'un create bitmap pompé du dw_syntax:

Code: pb

<DW Control Name>.Modify( &
"create bitmap(band=<Detail, Footer, Header, Header.<group #>, Summary, Trailer.<group #>, Background, Foreground>"  +  &
" pointer='<Arrow!, Cross!, HourGlass!, IBeam!, Icon!, Size!, SizeNESW!, SizeNS!, SizeNWSE!, SizeWE!, UpArrow!, or cursor filename (with path)>' moveable=<0 - False, 1 - True> resizeable=<0 - False, 1 - True> x='<an integer>' y='<an integer>' height='<an integer>' width='<an integer>'" + &
" filename='<filename (with path) containing bmp (i.e., c:\test\fish.bmp)>' invert='<0 - False, 1 - True>' name=<string>"  + &
" tag='<string>')")

A+

Vincent

Dernière modification par vince.janssens (17-05-2011 14:56:41)

Hors ligne

 

#7 17-05-2011 15:01:17

dark ryus  
Membre completement Geek
Lieu: Nancy
Date d'inscription: 30-09-2008
Messages: 129
Pépites: 700
Banque: 0
Site web

Re: [RESOLU] Userobject dans une datawindow

j'ai pensé à la solution de la fonction dynamique aussi.

J'essaye de voir s'il n'y a pas une autre solution.

et avec le .modify(), on peux ajouter plusieurs images d'un coup ou bien on fait plusieurs .modify() ?  (gauche + milieu + droite)

Dernière modification par dark ryus (17-05-2011 15:06:46)

Hors ligne

 

#8 17-05-2011 15:54:59

vince.janssens  
Membre Geek
Date d'inscription: 02-06-2008
Messages: 69
Pépites: 189
Banque: 0

Re: [RESOLU] Userobject dans une datawindow

dark ryus a écrit:

j'ai pensé à la solution de la fonction dynamique aussi.

J'essaye de voir s'il n'y a pas une autre solution.

et avec le .modify(), on peux ajouter plusieurs images d'un coup ou bien on fait plusieurs .modify() ?  (gauche + milieu + droite)

Etant donné qu'il s'agit respectivement de 3 bitmap, tu dois faire 3 modify.

Cette solution est pour moi la plus simple dans le sens qu'une foi ta fonction implémentée, tu ne te tracasses plus de rien pour toutes les autres futures DW...
Dans le cas d'une grid, il te faut penser à développer le resize de tes bitmaps, il te suffit de te caler sur la largeur du header en dessous de ta bitmap  (de préférence rendu invisible) dont tu modifie la taille...Tu peux même envisager le drag and drop de ta bitmap pour changer la position d'une colonne, mais bon là c'est pour plus tard ;-) ....

A+

Vincent

Hors ligne

 

#9 17-05-2011 16:02:52

dark ryus  
Membre completement Geek
Lieu: Nancy
Date d'inscription: 30-09-2008
Messages: 129
Pépites: 700
Banque: 0
Site web

Re: [RESOLU] Userobject dans une datawindow

Merci je vais tenter cette solution

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22