FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Pocket PC checkbox en columna de un listbox
Posts: 94
Joined: Fri Aug 10, 2007 01:47 AM
checkbox en columna de un listbox
Posted: Fri Feb 06, 2009 01:55 AM

Hola a todos.
Como puedo hacer para colocar un checkbox editable en cada renglon para la columna correspondiente a un campo logico de un listbox? Lo que deseo hacer es algo tan sencillo para el usuario como "palomear" los registros que le interesa seleccionar antes de un proceso siguiente.

Existe algun ejemplo?
Gracias. Saludos.

Arturo LS
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: checkbox en columna de un listbox
Posted: Fri Feb 06, 2009 07:44 AM

Arturo,

Es facil de hacer:

  1. Necesitas tener un campo logico en la DBF que indique si el registro esta seleccionado.

  2. En una columna del browse muestras un dibujo (bitmap) de un checkbox segun ese campo sea verdadero o falso:
    ... FIELDS If( MiAlias->Selecion, hBmpOn, hBmpOff ), ...

  3. Al evento de doble click en el browse o a otro que desees (como pulsar una determinada tecla) le asignas cambiar el valor de ese campo logico y repintas el browse:
    oBrw:bLDblClick = { || MiAlias->Seleccion := ! MiAlias->Seleccion, oBrw:Refresh() }

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 94
Joined: Fri Aug 10, 2007 01:47 AM
Re: checkbox en columna de un listbox
Posted: Fri Feb 06, 2009 02:46 PM

Gracias Antonio.
La solución que me das es sencilla y efectiva.

Estoy dudando como asignar un bitmap a una variable, voy a intentar las formas que se me ocurren y si no puedo pediré ayuda de nuevo.
Saludos.

Arturo LS
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: checkbox en columna de un listbox
Posted: Fri Feb 06, 2009 10:19 PM

Arturo,

Puedes guardar el bitmap en los recursos que van incrustados en el EXE o usar un fichero BMP externo.

Las formas de cargarlo en una variable son:

  1. Desde recursos:
    local hBmp := LoadBitmap( GetResources(), cBmpResName )

  2. Desde un fichero BMP externo:
    local hBmp := ReadBitmap( 0, cBmpFileName )

En FWPPC\samples\Tutor10.prg tienes un ejemplo de ReadBitmap()

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 94
Joined: Fri Aug 10, 2007 01:47 AM
Re: checkbox en columna de un listbox
Posted: Fri Feb 06, 2009 11:07 PM

Gracias Antonio. Saludos.

Arturo LS

Continue the discussion