ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Comment montrer des imgages dans un grille - seulement avec les chemins des images   



L'auteur

Mike Gagnon
Canada Canada
Membre Simple
# 0000000025
enregistré le 14/10/2004

Gagnon Mike
Pte Claire Quebec - Canada
de la société MCRG Software
Fiche personnelle


Note des membres
pas de note

Contributions > 02 - SCX : Formulaires

Comment montrer des imgages dans un grille - seulement avec les chemins des images
# 0000000213
ajouté le 21/06/2005 21:45:46 et modifié le 29/03/2006
consulté 4851 fois
Niveau initié

Version(s) Foxpro :
VFP 9.0

Description

Code source :
1. Créer un classe container.
2. Créer un formulaire et ajoute s'y une grille.
3. Change le columncount à 1
4. Redimentionne la colonne pour acepter la dimension de tes images
5. Ajoute le container ci-haut à la colonne 1 comme controle possible.
6. Change le currentcontrol de la colone à ton container.
7. Change le Sparse de ta colonne à .f.
8. Dans l'
init de ta grille met quelques chose comme suit:
9. Pour le but de cette exercise je me suis crée un table qui contient les info suivant
CREATE dbf c:\moncurseur (chemin c(254),COUNTEUR N(1))
INSERT INTO moncurseur (chemin,COUNTEUR) VALUES ('C:\Program Files\Microsoft Visual FoxPro 9\Graphics\Bitmaps\Assorted\intl_no.bmp',1)
INSERT INTO moncurseur (chemin,COUNTEUR) VALUES ('C:\Program Files\Microsoft Visual FoxPro 9\Graphics\Bitmaps\Assorted\smokes.bmp',2)
LOCATE


10. Et dernierement d'init de la grille met quelque chose comme:

LOCAL lnCounter, lcControlName, lcDataSource, lnScreenCounter
this.RecordSource = '
moncurseur'
lnCounter = 0
lcDataSource = this.recordsource
WITH this.column1
IF TYPE("this.column1.text1") = "O"
.removeobject("Text1")
ENDIF
SELECT (lcDataSource)
.controlsource = lcDataSource + ".chemin"
SCAN ALL
lnCounter = lnCounter + 1
lcControlName = "Image" + ALLTRIM(STR(lnCounter))
IF TYPE("this.column1." + lcControlName) != "O"
.AddObject(lcControlName,"image")
ENDIF
.&lcControlName..picture = EVALUATE(lcDataSource + ".CHEMIN")
ENDSCAN
.dynamiccurrentcontrol = "'
Image' + ALLTRIM(STR(moncurseur.counteur))"
ENDWITH
GO TOP IN (lcDataSource)
THIS.Refresh()


Commentaires
le 28/04/2010, api1492 a écrit :
Bonsoir, dans :
SELECT (lcDataSource)
.controlsource = lcDataSource + ".chemin"
SCAN ALL
j'ai un message d'erreur :" la source de données de cet objet doit être une référence variable"
Cordialement.
Daniel


Publicité

Les pubs en cours :

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2019.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3