FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour CheckBox o BitMap en TWBrowse
Posts: 592
Joined: Tue Mar 14, 2006 11:34 PM
CheckBox o BitMap en TWBrowse
Posted: Mon Aug 07, 2006 09:35 PM

Hola a todos

En el caso de ser posible, alguno de uds tendra un pequeño ejemplo para incrustar ya sea un checkbox o un bitmap en un browse ( de Hernan ) ?

Agradeceria mucho cualquier apoyo.

Saludos

FWH 10.6 + xHarbour + Borland 582
Posts: 140
Joined: Sat Oct 08, 2005 05:16 PM
CheckBox o BitMap en TWBrowse
Posted: Tue Aug 08, 2006 04:32 AM

Raymundo:
Aqui esta el ejemplo que encontre:
Debe funcionar con xHarbour, yo uso Harbour, ademas debe
compilar tMultisel.prg que viene con la Twbrowse de Hernan

include "FiveWin.ch"

include "wcolors.ch"

////////////////////////////////////////////////////////////////////////////////
// Bienvenidos al Sample02 de Seleccion TWBrowse Multiple.
// Veremos un ejemplo un poco mas complejo, con el uso de BitMaps.
////////////////////////////////////////////////////////////////////////////////

define ENTERPRISE

//----------------------------------------------------------------------------//
Function Main()
LOCAL oDlg, oLbx
LOCAL oFont, oMultiSel, oBmpOn, oBmpOff

USE Equipos ALIAS Datos

DEFINE BITMAP oBmpOn  FILE "checkon.bmp"
DEFINE BITMAP oBmpOff FILE "checkoff.bmp"

DEFINE FONT oFont NAME 'MS Sans Serif' SIZE 0,-8

DEFINE DIALOG oDlg FROM 0,0 TO 15,45               ;
              TITLE "TWBrowse + TMultiSel Engine" ;
              FONT oFont
   oDlg:nStyle:= nOr( oDlg:nStyle, 4 ) // Pongo 3D Nativo


   @00,03 SAY 'Futbol Argentino' OF oDlg

   #ifdef ENTERPRISE
     TWBrowse():lHScroll:= .f. // Sin Scroll Horizontal para la variable
   #endif                      // de la clase.

   @01,01 LISTBOX oLbx ;
                  FIELDS If( oMultiSel:lSelect, oBmpOn, oBmpOff ):hBmpPal,;
                         DATOS->Equipo ;
                  HEADERS "","" SIZE 95,87 OF oDlg

   oMultiSel:= TMultiSel():New( oLbx )

   @20,110 BUTTON "Select &All" OF oDlg SIZE 40,Nil PIXEL ;
           ACTION oMultiSel:SelectAll()

   @40,110 BUTTON "UnSelect &All" OF oDlg SIZE 40,Nil PIXEL ;
           ACTION oMultiSel:UnSelectAll()

   @60,110 BUTTON "&Reverse" OF oDlg SIZE 40,Nil PIXEL ;
           ACTION oMultiSel:Reverse()

   @90,110 BUTTON "&Ver Seleccion" OF oDlg SIZE 40,Nil PIXEL ;
           ACTION VerSeleccion( oMultiSel )


ACTIVATE DIALOG oDlg CENTERED

RELEASE BITMAP oBmpOn, oBmpOff
RELEASE FONT oFont

return Nil

//----------------------------------------------------------------------------//
STATIC Function VerSeleccion( oMultiSel )
LOCAL cMsg:= "Estan seleccionados todos los registros"
LOCAL nLen:= Len( oMultiSel:aRecNo )
LOCAL cLen:= " ( " + AllTrim(Str(nLen)) + " son )"

If oMultiSel:lSelectAll
   If nLen == 0
      cMsg+= "."
   Else
      cMsg+= CRLF + "MENOS los de la matriz oMultiSel:aRecNo." +cLen
   EndIf
Else
   If nLen == 0
      cMsg:= "NO HAY registros seleccionados."
   Else
      cMsg+= " de la matriz oMultiSel:aRecNo." + cLen
   EndIf
EndIf

MsgAlert( cMsg )

MemoSeleccion( oMultiSel )

return Nil

//----------------------------------------------------------------------------//
STATIC Function MemoSeleccion( oMultiSel )
LOCAL cMemo:= 'Estos son los Items Seleccionados:' + CRLF +;
'==================================' + CRLF + CRLF
LOCAL nLen:= Len( cMemo ), lHeader:= .f.
LOCAL nRecNo:= RecNo()

DbGoTop()
While !Eof()

   If oMultiSel:IsSelect( RecNo() )
      If !lHeader
         cMemo+= "RecNo()     Equipo" + CRLF + ;
                 "======= ====================================" + CRLF
         lHeader:= .t.
      EndIf
      cMemo+= StrZero(RecNo(),7) + "  "+ Field->Equipo + CRLF
   EndIf

   DbSkip()

EndDo

If Len( cMemo ) == nLen
   cMemo+= "NO HAY ITEMS SELECCIONADOS !!!!" + CRLF
EndIf

DbGoto( nRecNo )

MemoEdit( cMemo )

return Nil

//----------------------------------------------------------------------------//

Saludos..

Ruben Fernandez.

Rubén D. Fernández

Maldonado-Uruguay
Posts: 592
Joined: Tue Mar 14, 2006 11:34 PM
CheckBox o BitMap en TWBrowse
Posted: Tue Aug 08, 2006 06:07 AM

Hola Ruben

Muchas Gracias por el ejemplo, hare mis pruebas.

Te agradezco :D

Saludos

FWH 10.6 + xHarbour + Borland 582
Posts: 840
Joined: Thu Oct 13, 2005 07:05 PM
CheckBox o BitMap en TWBrowse
Posted: Tue Aug 08, 2006 05:20 PM
Se hace exactamente igual a como se hace con un TWBrowse normalito


/
* cargas los bitmaps de los check */
   hCheck := LoadBitmap(GetResources(),"check")
   hunCheck := LoadBitmap(GetResources(),"uncheck")

   DEFINE DIALOG oDlg.....
....
....

   REDEFINE LISTBOX oBrw FIELDS 
               IIF(alias->campo ==.T.,hCheck,hUnCheck),;
                     alias-> otro camo;
      HEADERS "","Name:" ID 103 OF oDlg UPDATE
...
.....
Saludos

R.F.
Posts: 592
Joined: Tue Mar 14, 2006 11:34 PM
CheckBox o BitMap en TWBrowse
Posted: Tue Aug 08, 2006 08:39 PM

Gracias Master Flores

Te lo agradezco mucho, sigo con mis pruebas y correcciones :P

Saludos

FWH 10.6 + xHarbour + Borland 582
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
lo mismo pero en xbrowse
Posted: Thu Aug 10, 2006 05:39 PM

Amigos me gustaria hacer lo mismo pero en un xbrowse alguien me puede indicar como hacerlo.

Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 592
Joined: Tue Mar 14, 2006 11:34 PM
CheckBox o BitMap en TWBrowse
Posted: Thu Aug 10, 2006 05:54 PM

Hola Leandro

El ejemplo que expuso el Master Flores, trabajo perfecto en el TWBrowse de Hernan ( es el que uso ), no he usado el xBrowse, pero en la carpeta de samples, esta el archivo TESTXBRW.PRG y ahi estan muchas opciones y formas incluyendo la del bitmap.

Saludos

FWH 10.6 + xHarbour + Borland 582
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
CheckBox o BitMap en TWBrowse
Posted: Fri Aug 11, 2006 05:02 PM
Leandro

aca algo similar, lo que faltaria es evaluar el click en el browse, sobrfe que col esta sucediendo para realizar el cambio.

    WITH OBJECT ( oBrw := TXBrowse():new( oDlg ) )
        :CreateFromResource( 101 )
        :cAlias                 := "clie"
        :nColDividerStyle       := LINESTYLE_DARKGRAY
        :nRowDividerStyle       := LINESTYLE_DARKGRAY
        :nMarqueeStyle          := MARQSTYLE_HIGHLROW
        :lAllowRowSizing        := FALSE
        :lRecordSelector        := TRUE
        :bClrHeader             := { || { CLR_BLUE, GetSysColor( COLOR_BTNFACE ) } }
        :bLDblClick             := { || CClienteEditar( .F. ) }
        :nFreeze                := 5

        /*redefine columnas del browse*/
        WITH OBJECT ( oCol := :AddCol() )
            :cHeader  := "Codigo"
            :bStrData := { || clie->codigo }
            :bClrStd  := { || { CLR_BLUE, CLR_HGRAY } }
            :nWidth   := 80
        END
        WITH OBJECT ( oCol := :AddCol() )
            :cHeader  := "Nombre"
            :bStrData := { || clie->nombre }
            :nWidth   := 240
        END
        WITH OBJECT ( oCol := :AddCol() )
            :cHeader  := "Telefono"
            :bStrData := { || clie->telefono }
            :nWidth   := 080
        END
        WITH OBJECT ( oCol := :AddCol() )
            :cHeader  := "Saldo C$"
            :bStrData := { || Transform( clie->saldo, "999,999.99" ) }
            :bClrStd  := { || { CLR_RED, RGB(255,255,230) } }
            :nWidth   := 070
            :nHeadStrAlign := AL_RIGHT
            :nDataStrAlign := AL_RIGHT
        END

        //aca el bitmap
        WITH OBJECT ( oCol := :AddCol() )
            :AddResource("B_CHKON")
            :AddResource("B_CHKOFF")
            :cHeader  := "Activo"
            :bBmpData := { || iif( clie->activo, 1, 2 ) }
            :nWidth   := 060
            :nHeadStrAlign := AL_CENTER
            :nDataBmpAlign := AL_CENTER
        END
    END



salu2
carlos vargas
Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)

Continue the discussion