checkbox en columna de un listbox

Post Reply
User avatar
Arturo Lopesoria
Posts: 84
Joined: Fri Aug 10, 2007 1:47 am
Location: Mexico DF
Contact:

checkbox en columna de un listbox

Post by Arturo Lopesoria »

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
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: checkbox en columna de un listbox

Post by Antonio Linares »

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
User avatar
Arturo Lopesoria
Posts: 84
Joined: Fri Aug 10, 2007 1:47 am
Location: Mexico DF
Contact:

Re: checkbox en columna de un listbox

Post by Arturo Lopesoria »

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
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: checkbox en columna de un listbox

Post by Antonio Linares »

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
User avatar
Arturo Lopesoria
Posts: 84
Joined: Fri Aug 10, 2007 1:47 am
Location: Mexico DF
Contact:

Re: checkbox en columna de un listbox

Post by Arturo Lopesoria »

Gracias Antonio. Saludos.
Arturo LS
Post Reply