checkbox in tcbrowse

Moderator: Enrico Maria Giordano

Post Reply
marzio
Posts: 129
Joined: Wed Apr 04, 2007 6:54 am

checkbox in tcbrowse

Post 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
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: checkbox in tcbrowse

Post by Enrico Maria Giordano »

Questo è un esempio con TWBrowse immediatamente adattabile a TCBrowse.:

Code: Select all

#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
marzio
Posts: 129
Joined: Wed Apr 04, 2007 6:54 am

Post 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
Post Reply