Page 1 of 1

checkbox in tcbrowse

PostPosted: Mon Oct 22, 2007 9:32 am
by marzio
salve a tutti,
in un programma uso le classi tcbrowse e tccolumn per gestire un dbase,
è possibile cambiare dati logici con una checkbox invece di inserire F o T?
(fwh7.1 con xHarbour 0.99.71)

grazie, marzio

Re: checkbox in tcbrowse

PostPosted: Mon Oct 22, 2007 10:47 am
by Enrico Maria Giordano
Questo è un esempio con TWBrowse immediatamente adattabile a TCBrowse.:

Code: Select all  Expand view
#include "Fivewin.ch"


FUNCTION MAIN()

    LOCAL oDlg, oBrw

    LOCAL hBmp1 := READBITMAP( 0, "SELECT.BMP" )
    LOCAL hBmp2 := READBITMAP( 0, "UNSELECT.BMP" )

    USE TEST

    DEFINE DIALOG oDlg SIZE 400, 300

    @ 0, 0 LISTBOX oBrw FIELDS FIELD -> last,;
                               FIELD -> first,;
                               IF( FIELD -> married, hBmp1, hBmp2 ),;
                               "";
           HEADERS "LAST", "FIRST", "M", "";
           SIZES 100, 100, 16, 0

    oBrw:bLClicked = { | nRow, nCol | Cambia( oBrw, nCol ) }

    ACTIVATE DIALOG oDlg;
             ON INIT oDlg:SetControl( oBrw );
             CENTER

    CLOSE

    DELETEOBJECT( hBmp1 )
    DELETEOBJECT( hBmp2 )

    RETURN NIL


STATIC FUNCTION CAMBIA( oBrw, nCol )

    IF oBrw:nAtCol( nCol ) = 3
        REPLACE FIELD -> married WITH !FIELD -> married
        oBrw:Refresh( .F. )
    ENDIF

    RETURN NIL


EMG

PostPosted: Tue Oct 23, 2007 7:59 am
by marzio
funziona bene con listbox.
con column browse:
@ 0, 5 COLUMN BROWSE oBrw OF oDlg SIZE 360, 195 PIXEL ALIAS "test"

oBrw:AddColumn(TCColumn():New(, {|| FIELD->first}...
oBrw:AddColumn(TCColumn():New(, {|| FIELD->last}...

oBrw:AddColumn(TCColumn():New(, {|| IF(FIELD->married, hBmp1, hBmp2)},, ,,, 10, .F., .t.,,,, .f., ))

al posto dell'icona mi visualizza l'handle del file, che cambia cliccando.
come faccio a far comparire l'icona?

ciao, marzio

PostPosted: Tue Oct 23, 2007 11:44 am
by Enrico Maria Giordano
L'ottavo parametro di TCColumn():New() è lBitmap.

EMG