|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre régulier
![]() Inscription : août 2005 Messages : 56 ![]() |
Voici une petite astuce pour dessiner dynamiquement des images dans une cellule de table, avec les fonctions de dessin de Windev : http://doc.pcsoft.fr/fr-FR/?3029033&...nctions_Dessin
Dans mon exemple, la colonne Col_Conteneur de la table table1 est de type "Conteneur" (cf : http://doc.pcsoft.fr/fr-FR/?colonne-...type-conteneur). Dans ce conteneur, j'ai placé un champ image "Image1" (Mode d'affichage 100% dans le coin haut gauche). Dans ma fenêtre, j'ai aussi un champ image nommé "Image1" (Qui n'est pas forcément visible). Voici le code : Code :
Bonne prog
|
||
|
|
00
|
|
|
#2 |
![]() ![]() Sylvain Développeur Windev et technicien maintenance Inscription : janvier 2008 Messages : 1 640 ![]() |
Bonjour,
Il serait bien de rappeler la version mini a avoir pour faire ce genre de manipulation. Car la colonne de type conteneur d'après l'aide n'est apparut qu'en version 14. Si quelqu'un peux confirmer.
__________________
la touche est ton amie. l'aide ne mord pas quand on la consulte...PS : n'oubliez jamais que nous ne sommes pas avec vous sur le projet. Donc plus vous donnez d'informations et d'exemples de codes et plus nous pourrons vous aider. (Un exemple vaut mieux que de longs discours...) Pensez à utiliser les votes et à cliquer sur , merci
|
|
|
00
|
|
|
#3 |
![]() ![]() Nicolas LAURETChef de projet en SSII Inscription : novembre 2003 Messages : 1 104 ![]() |
Je confirme, la colonne conteneur est apparue avec la version 14
__________________
Modérateur Business Intelligence / Windev A lire avant de poster Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
|
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : mars 2005 Messages : 1 682 ![]() |
Une méthode plus optimisée serait de se passer de l'étape intermédiaire "dessin dans une zone, enregistrement vers fichier, chargement du fichier vers nouvelle zone". Ce sera plus propre et certainement plus rapide.
Les fonctions gXXX permettent de dessiner directement dans les listes, combos et cellules de table. De plus l'utilisation de conteneur est inutile, vous pouvez dessiner dans une cellule "texte". Exemple rapide : Créez un champ table rempli par programmation avec une colonne texte et le code suivant : Code :
TableAjouteLigne(Table1,gRectangle(0,0,18,18,iJauneClair,iNoir)) |
|
|
00
|
|
|
#5 | |
|
Membre régulier
![]() Inscription : août 2005 Messages : 56 ![]() |
Citation:
Quoi qu'il en soit, il n'y a pas d'écriture dans un fichier (sur le disque) mais en mémoire avec la fonction bfImg = dSauveImagePNG(Image1,enMémoire). Je connais la méthode que vous proposez, mais elle est limitée : Je ne peut pas par exemple faire en sorte que la cellule soit de deux couleurs différentes, ce qui était mon objectif à la base (Dessin de planning en fusionnant les cellules). Pour afficher un rectangle de couleur avec un contour, c'est effectivement le plus simple. J'ajoute que la méthode peut être utilisée avec une colonne de type "image" mais avec moins de souplesse que la colonne "Conteneur" : -Si l'on souhaite ajouter du texte, on doit l'écrire sur l'image avec les fonctions de dessin. -Je ne suis pas parvenu a ajuster l'image affichée au pixel par rapport à la taille de la cellule (Décalage d'un pixel à gauche). |
|
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Inscription : mars 2005 Messages : 1 682 ![]() |
Mea culpa pour la partie écriture fichier, je n'ai pas vu la subtilité en effet.
Concernant la couleur double, par contre, je vous corrige. Il possible de dessiner plusieurs éléments dans la même cellule : Code :
TableAjouteLigne(Table1,gRectangle(0,0,30,18,iJauneClair,iJauneClair) + gRectangle(31,0,60,18,iVertClair,iVertClair))) Le plus gros inconvénient que je vois avec cette méthode est que le redimensionnement de la colonne n'est pas appliqué contrairement à une image avec redimensionnement. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com