FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Como añado un columna checkbox a TCBROWSE
Posts: 632
Joined: Thu Jan 19, 2006 10:45 AM
Como añado un columna checkbox a TCBROWSE
Posted: Mon Oct 26, 2009 12:14 PM
Hola, la cuestión es bien simple, muchos de mis programas siguen utilizando tcbrowse como visor de la base de datos, hasta ahora nunca había necesitado poner un check box. He seguido algunos ejemplos que hay en el foro y no lo he logrado. Creo que la única solución según he visto es mediante muestra de un bmp, pero si sigo los ejemplos solo me muestra un numero que según supongo es el manejador. He hecho lo siguiente.
Code (fw): Select all Collapse
     private hBmpLon  := ReadBitmap( 0, "r:/bmp/mnu/checkon.bmp" )
     private hBmpLoff := ReadBitmap( 0, "r:/bmp/mnu/checkoff.bmp" )
     

    ......
    *******************************************************************************
    *                                                                             *
    *            Este sistema de listbox corresponde al TCBROWSE. objeto oBrow    *
    *                                                                             *
    *******************************************************************************

    
    @ -1, 16 COLUMN BROWSE oBrw OF oWndEdit ;
             FONT oFont ;
             SIZE oWnd:nWidth(),oWnd:nHeight();  //Ancho y lago posilbe               COLOR CLR_BLACK, 14481663;
             ON CHANGE ( aMantStack[nLen, 4] := str(recno()), oMsgRecNo:SetText("Registro: "+ alltrim( str(recno())) + "/" + alltrim(str(lastrec())) ), oWndEdit:Update() )

    
     //Añado columna si esta borrado el registro para eliminacion
     ADD COLUMN TO BROWSE oBrw ;
         HEADER "D." OEM ;
         DATA  iif(deleted(),'>>', ' ');
         NOBAR CENTER ;
         COLORS CLR_WHITE , 9129488  ;  //nRGB( 190, 215, 190 )
         SIZE 15

    //Añadir columna si tiene croquis, diligencias, fotos (AQUI LOS CHECKBOX) <<<<<<<<<<<<<<<<<<<<<<<<<
    //Verificado es un campo logico t o f

        ADD COLUMN TO BROWSE oBrw ;
         HEADER "Verificado" ;
         DATA  iif(verificado,hBmpLon, hBmpLoff);
         NOBAR CENTER ;
         COLORS CLR_WHITE , 9129488  ;  //nRGB( 190, 215, 190 )
         SIZE 15
    
    

    //Añado una columna por cada campo de la base de datos
    for nPos := 1 to Len(f_expd)                         // Array con NOMBRE DE CAMPOS
      ADD COLUMN TO BROWSE oBrw;                         //
          HEADER f_nomd[nPos] OEM ;                      // Array con TITULOS DE LAS COLUMNAS
          DATA FieldWBlock( f_expd[nPos] , Select())     // Aca se genera el CodeBlock para el CAMPO
    next


Lo único que me muestra en la columna es un numerajo largo.
Saludos



Andrés González desde Mallorca
Posts: 632
Joined: Thu Jan 19, 2006 10:45 AM
Re: Como añado un columna checkbox a TCBROWSE
Posted: Mon Oct 26, 2009 12:54 PM
Solucionado. Resulta que delante del DATA hay que poner BITMAP.
Code (fw): Select all Collapse
//Añado columna si esta borrado el registro para eliminacion
     ADD COLUMN TO BROWSE oBrw ;
         HEADER "D." OEM ;
         BITMAP DATA  iif(deleted(),hBmpLon, hBmpLoff);
         NOBAR CENTER ;
         COLORS CLR_WHITE , 9129488  ;  //nRGB( 190, 215, 190 )
         SIZE 15
Saludos



Andrés González desde Mallorca

Continue the discussion