FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour XBROWSE TWO COLUMNS BMP AND NAME
Posts: 1091
Joined: Thu Nov 17, 2005 11:08 AM
XBROWSE TWO COLUMNS BMP AND NAME
Posted: Fri Jun 26, 2015 02:14 PM
Hi,
I do not use xbrowse
How can I display in the first column a bmp depending on numeric bitmap field of mylist table?

Many thanks
Marco

Code (fw): Select all Collapse
#include 'fivewin.ch'
#include 'ord.ch'
#include 'xbrowse.ch'

REQUEST DBFCDX

FUNCTION main()

   LOCAL oDlg
   LOCAL oBrw
   LOCAL aBmp  := {}
   LOCAL oCol

   AADD( aBmp, "\fwh\bitmaps\memo.bmp"  )   // 1
   AADD( aBmp, "\fwh\bitmaps\block.bmp"  )   // 2
   AADD( aBmp, "\fwh\bitmaps\noninfo.bmp"  )   // 3
   AADD( aBmp, "\fwh\bitmaps\number.bmp"    )   // 4

   DBCREATE( "MYLIST", { { "NAME"    ,  "C" ,   20 , 0 }  ,;
                         { "BITMAP"  ,  "N" ,    1 , 0 } } )

   USE mylist
   APPEND BLANK
   REPLACE field->name     WITH "Antonio"
   REPLACE field->bitmap   WITH 1

   APPEND BLANK
   REPLACE field->name     WITH "Marco"
   REPLACE field->bitmap   WITH 2

   APPEND BLANK
   REPLACE field->name     WITH "Silvio"
   REPLACE field->bitmap   WITH 3

   APPEND BLANK
   REPLACE field->name     WITH "Entico"
   REPLACE field->bitmap   WITH 4

   DEFINE DIALOG oDlg title "TEST" SIZE 800 , 600
   USE mylist

   @ 0 , 0 XBROWSE oBrw OF oDlg ALIAS "mylist"  SIZE 300 , 300

   oBrw:nMarqueeStyle              := 1
   oBrw:nRowHeight                 := 100
   oBrw:lFooter                    := .T.

   oCol = oBrw:AddCol()
   oCol:nEditType       := TYPE_IMAGE
   oCol:AddBmpFile( aBmp[ mylist->bitmap ] )
   oCol:nWidth      = 200

   oCol = oBrw:AddCol()
   oCol:bStrData    = { || mylist->name }
   oCol:cHeader     = "Name"
   oCol:nEditType   = EDIT_GET
   oCol:nWidth      = 200

   oBrw:CreateFromCode()

   ACTIVATE DIALOG oDlg

RETURN NIL
Marco Boschi
info@marcoboschi.it
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: XBROWSE TWO COLUMNS BMP AND NAME
Posted: Fri Jun 26, 2015 04:07 PM
Method-1
Bitmap in column-1 and Name in column-2
Code (fw): Select all Collapse
   @ 0,0 XBROWSE oBrw SIZE 0,0 PIXEL OF oDlg ;
      DATASOURCE "mylist" ;
      COLUMNS "", "Name"  ;
      COLSIZES 60

   oBrw:lFooter      := .T.
   oBrw:nRowHeight   := 30

   WITH OBJECT oBrw:aCols[ 1 ]
      :bBmpData      := { || MYLIST->BITMAP }
      :AddBitmap( aBmp )
      :bStrData      := nil
   END

   oBrw:CreateFromCode()


Method-2
Bitmap and Name in the same column
Code (fw): Select all Collapse
   @ 0,0 XBROWSE oBrw SIZE 0,0 PIXEL OF oDlg ;
      DATASOURCE "mylist" ;
      COLUMNS "Name"

   oBrw:lFooter               := .T.
   oBrw:nRowHeight            := 30

   WITH OBJECT oBrw:aCols[ 1 ]
      :bBmpData      := { || MYLIST->BITMAP }
      :AddBitmap( aBmp )
   END

   oBrw:CreateFromCode()


Method-3
Use this for larger Images like Photos in Jpg, etc.
Code (fw): Select all Collapse
   @ 0,0 XBROWSE oBrw SIZE 0,0 PIXEL OF oDlg ;
      DATASOURCE "mylist" ;
      COLUMNS { || aBmp[ MYLIST->BITMAP] }, "Name" ;
      HEADERS "Image", "Name" ;
      COLSIZES 100

   oBrw:lFooter               := .T.
   oBrw:nRowHeight            := 100

   WITH OBJECT oBrw:aCols[ 1 ]
      :cDataType     := 'F'
   END

   oBrw:CreateFromCode()
Regards



G. N. Rao.

Hyderabad, India
Posts: 1091
Joined: Thu Nov 17, 2005 11:08 AM
Re: XBROWSE TWO COLUMNS BMP AND NAME
Posted: Sun Jun 28, 2015 08:29 AM

Many Thanks
Marco

Marco Boschi
info@marcoboschi.it

Continue the discussion