Page 1 of 1

xBrowse: How to display image from resource based on flag

Posted: Fri Dec 04, 2020 8:02 am
by hua
Hi,
Can someone share a code snippet to view image from resource in a column based on a flag in the dbf currently being viewed?

TIA

Re: xBrowse: How to display image from resource based on flag

Posted: Sun Dec 06, 2020 9:52 pm
by nageswaragunupudi
This sample demonstrates 3 alternative ways of doing it.

Code: Select all

#include "fivewin.ch"

REQUEST DBFCDX

function Main()

   USE CUSTOMER NEW SHARED ALIAS CUST VIA "DBFCDX"

   Sample1()
   Sample2()
   Sample3()

return nil

function Sample1()

   local oDlg, oBrw

   DEFINE DIALOG oDlg SIZE 600,400 PIXEL TRUEPIXEL

   @ 10,10 XBROWSE oBrw SIZE -10,-10 PIXEL OF oDlg ;
      DATASOURCE "CUST" ;
      COLUMNS "FIRST", "CITY", "MARRIED" ;
      CELL LINES NOBORDER

   WITH OBJECT oBrw
      :married:SetCheck( { "TWO", "ONE" } )
      :CreateFromCode()
   END

   ACTIVATE DIALOG oDlg CENTERED

return nil

function Sample2()

   local oDlg, oBrw

   DEFINE DIALOG oDlg SIZE 600,400 PIXEL TRUEPIXEL

   @ 10,10 XBROWSE oBrw SIZE -10,-10 PIXEL OF oDlg ;
      DATASOURCE "CUST" ;
      COLUMNS "FIRST", "CITY", "" ;
      HEADERS nil, nil, "MARRIED" ;
      CELL LINES NOBORDER

   WITH OBJECT oBrw
      WITH OBJECT :married
         :AddBitmap( { "ONE", "TWO" } )
         :bBmpData := { || If( ( oBrw:cAlias )->MARRIED, 2, 1 ) }
      END
      :CreateFromCode()
   END

   ACTIVATE DIALOG oDlg CENTERED

return nil

function Sample3()

   local oDlg, oBrw

   DEFINE DIALOG oDlg SIZE 600,400 PIXEL TRUEPIXEL

   @ 10,10 XBROWSE oBrw SIZE -10,-10 PIXEL OF oDlg ;
      DATASOURCE "CUST" ;
      COLUMNS "FIRST", "CITY", "IF(MARRIED,'TWO','ONE')" ;
      HEADERS nil, nil, "MARRIED" ;
      CELL LINES NOBORDER

   WITH OBJECT oBrw
      WITH OBJECT :married
         :cDataType        := "P"
         :lBmpTransparent  := .t.
      END
      :CreateFromCode()
   END

   ACTIVATE DIALOG oDlg CENTERED

return nil
 
RC file:

Code: Select all

ONE 10     "c:\fwh\bitmaps\32x32\user.bmp"
TWO BITMAP "c:\fwh\bitmaps\32x32\users.bmp"
 
In all the 3 cases, the result is :

Image

Re: xBrowse: How to display image from resource based on flag

Posted: Mon Dec 07, 2020 2:49 am
by hua
Thank you very much for the extensive example Rao! :D