1 Son düzenleyen, Gökçe Özçınar (01.11.2007 20:07:04)

Konu: Grid de resim

Gridde bir kolonun  "currentcontrol" u image olarak tanımladım. Ve buraya küçük resimler eklemem gerekiyor. bunun için bu kolona bağlı table field'ini (Çetin hocamdan korkarak) general field mi yapmalıyım. Ve bu field'e tabledeki ilgili resim dosyasını nasıl "replace" etmeliyim ?

Teşekkür ederim

2

Re: Grid de resim

http://support.microsoft.com/kb/895602

3

Re: Grid de resim

http://www.universalthread.com/wconnect … 84,14,7934

4

Re: Grid de resim

Visual Fox Pro
Public oForm

oForm = Createobject('form1')
oForm.Show()
 
Define Class form1 As Form
  Top = 0
  Left = 0
  Height = 470
  Width = 740
  DoCreate = .T.
  Caption = "HTML sample"
  Name = "Form1"
  HTMLFile='' && Custom prpoperty to hold temp .htm name
 
  * This is IE control - you'd use webbrowser4 from gallery instead
  * just because it already has some checks, extra pem. ie: wouldn't need readystate part
  * for the sake of keeping code short here I directly use olecontrol itself
  Add Object htmlviewer As OleControl With ;
    Top = 12, ;
    Left = 12, ;
    Height = 396, ;
    Width = 708, ;
    Visible = .T., ;
    Name = "HTMLViewer", ;
    OleClass = 'Shell.Explorer'
 
  Add Object text1 As TextBox With ;
    Height = 25, ;
    Left = 12, ;
    Top = 432, ;
    Width = 60, ;
    Name = "Text1"
 
  Add Object text2 As TextBox With ;
    Height = 23, ;
    Left = 84, ;
    Top = 432, ;
    Width = 204, ;
    Name = "Text2"
 
  Add Object text3 As TextBox With ;
    Height = 23, ;
    Left = 300, ;
    Top = 432, ;
    Width = 125, ;
    Name = "Text3"
 
  Add Object text4 As TextBox With ;
    Height = 23, ;
    Left = 432, ;
    Top = 432, ;
    Width = 125, ;
    Name = "Text4"
 
  Procedure Init
    Local lnImages, lnPerrow, lnCurrent
    lnImages = Adir(arrImages,_samples+'data\graphics\*.gif')
    *You'd use a table let's simulate it
    Create Cursor myImages (ImagePath c(50),FirstName c(12), LastName c(12))
    For ix=1 To lnImages
      Insert Into myImages Values ;
        ('myImages\'+arrImages[ix,1],'FirstName'+Trans(ix),'LastName'+Trans(ix))
    Endfor
    *Now we have a test table - create HTML
    lnPerRow = 3 && How many would we show on a line
    lnCurrent = 0 && Do not use recno() thinking it might be ordered on an index
    This.HTMLFile = Sys(2015)+'.htm'
 
    Set Textmerge On
    Set Textmerge To (This.HTMLFile) Noshow
    * Initialize lcHTML
        \<HTML><BODY><TABLE>
    Select myImages
    Scan
      lnCurrent = lnCurrent+1
      If (lnCurrent-1)%lnPerRow=0
        If lnCurrent>1
        \</TR>
        Endif
        \<TR>
      Endif
        \<TD><A href="<<trans(recno())>>"><img border="0" src="<<trim(chrtran(ImagePath,'\','/'))>>"></A></TD>
    Endscan
        \</TR>
        \</TABLE></BODY></HTML>
    Set Textmerge To
    Set Textmerge Off
    *!*        Modify Command (this.HTMLFile) && If you ever wonder created HTML
    With Thisform.htmlviewer
      .Navigate2('file://'+Sys(5)+Curdir()+This.HTMLFile)
      Do While .ReadyState # 4 && Wait for ready state
      Enddo
    Endwith
  Endproc
 
 
  Procedure htmlviewer.BeforeNavigate2
    *** ActiveX Control Event ***
    Lparameters pdisp, url, flags, targetframename, postdata, headers, Cancel
    Cancel = .T.  && do not navigate to anywhere
    With Thisform && with webbrowser4 also this.oHost is the form itself or container
      .text1.Value = Justfname(url)
      Go Val(Justfname(url)) In 'myImages'
      .text2.Value = myImages.ImagePath
      .text3.Value = myImages.FirstName
      .text4.Value = myImages.LastName
    Endwith
  Endproc
 
  Procedure Destroy
    Erase (This.HTMLFile)
  Endproc
Enddefine