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

images dans une grille foxpro   



L'auteur

eric leissler
France France
Membre Simple
# 0000002784
enregistré le 06/03/2010
http://www.aumeric.fr
68 ans
LEISSLER Eric
85290 MORTAGNE SUR SEVRE
de la société AUMERIC LOGICIELS
Fiche personnelle


Note des membres
pas de note

Contributions > 01 - PRG : Programmation

images dans une grille foxpro
# 0000000877
ajouté le 17/02/2014 16:17:21 et modifié le 17/02/2014
consulté 11294 fois
Niveau initié

Version(s) Foxpro :
VFP 9.0
VFP 8.0
VFP 7.0


Le téléchargement des pièces jointes est limité aux membres
Veuillez vous identifier ou vous inscrire si vous n'avez pas encore de compte ...
Description
Bonjour tous
suite à une demande d'EDDY
Voila comment mettre des images dans une grille.
Attention, cela ne peut convenir que pour de petites tables.
avec des gifs animés environ 10 enregistrements
sans gifs animés, jusqu'à environ 3000 enregistrements
Donc pour de petites tables
Cdlt
Eric
Code source :
********************************************************************************
* - 17/05/2004  AUMERIC LOGICIELS
*  E. LEISSLER
*  Inserez des images dans une grid.
*  Attention : Ne peut convenir que pour de petites tables.
*  *********
********************************************************************************


Parameter trav
DoDefault()
Local mavar As stirng,i As Integer  ,j As Integer, choixpresent As Boolean , u As Integer
Local combien As Integer

Select Img_grid.libelle As nom_de_l_image, ;
  Img_grid.choix As choix, ;
  Img_grid.chemin_image As chemin;
  FROM imgdansgrille!Img_grid;
  INTO Cursor   tablesql


combien = Reccount("tablesql")
Dimension tab_img(combien)

For i = 1 To combien
  Select tablesql
  Go i
  tab_img(i)= tablesql.chemin
Next i
Locate


m.choixpresent=.F.
Thisform.AddObject("grid1","grid")


With Thisform.grid1
  .Visible=.T.
  .RowHeight=30
  .Width=Thisform.Width
  .Height=Thisform.Height

  .RecordSource=Alias()
  .ColumnCount=Fcount('tablesql')-1
  For m.i=1 To Fcount('tablesql')-1
    .Columns(m.i).Bound=.F.
    m.mavar="tablesql."+Field(m.i)
    .Columns(m.i).ControlSource=m.mavar
    .Columns(m.i).text1.ControlSource=m.mavar
    .Columns(m.i).ReadOnly=.T.
    If Lower(Field(m.i))=="choix"
      .Columns(m.i).AddObject("chkbox1","checkbox")
      For m.u = 1 To m.combien
        .Columns(m.i).AddObject("img"+Alltrim(Str(m.u)),"image")
        cmd=".columns(m.i).img"+Alltrim(Str(u))+".picture= '"+tab_img(u)+"'"
        &cmd
      Next m.u

      .Columns(m.i).Enabled=.T.
      .Columns(m.i).ReadOnly=.F.
      m.j=i
      m.choixpresent=.T.
    Endif
    .Columns(m.i).Width=Fsize(Field(m.i))*6
    .Columns(m.i).header1.Caption=Field(m.i)
  Endfor
  .AutoFit( )
  If m.choixpresent
    .Columns(m.j).Sparse=.F.
    .Columns(m.j).DynamicCurrentControl='"img"+ALLTRIM(STR(RECNO()))'
    .Columns(m.j).Width=50
  Endif
  .Refresh
Endwith




















Commentaires
le 18/02/2014, eddymaue a écrit :
Eric ma demande c'était comment tu as fait pour insérer la boule qui tourne....

mais ta contribution m'a fait découvrir une nouvelle technique http://www.universalthread.com/ViewPageNewFAQ.aspx?ID=7934

With .Columns(2)
.Addobject('myContainer','Container')
.CurrentControl = 'myContainer'
.Sparse = .f.
With .myContainer
.Addobject('myImage','Image')
.myImage.Visible = .t.
Endwith
.Dynamicbackcolor = 'thisform.fake()'
Endwith
.Visible = .t.
Endwith

j'vais regarder çà en fin de semaine et peut être modifier mon browser d'image

le 18/02/2014, eric leissler a écrit :
Salut Eddy
Oui j'ai vu le post de Grégory.
C'est effectivement une autre piste. Tous les chemins menent à rome dit on!
L'essentiel est d'arriver.
cela dit, cette méthode avec un container permet peut être de le faire avec de plus grosse table.
A essayer !
Quant à le boule qui tourne, c'est juste un llien image. J'ai cliqué sur le bouton image, et j'ai indiqué le lien de mon logo tournant.
Rien de plus .
Bonne journée
Cdlt
Eric

le 19/02/2014, eddymaue a écrit :
effectivement ce que j'ai compris .... un lien sur un site web... et non un fichier image sur mon disque dur

c corrigeable ou on doit vivre avec cette limite

a+

le 19/02/2014, eric leissler a écrit :
Je pense que tu dois vivre avec cette limite, mais Francis sera bien mieux à même de te l'infirmer ou de te le confirmer.
Je suis sur que si tu lui demande, il te répondra.
Cdlt
Eric


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