checkbox en columna de un listbox

checkbox en columna de un listbox

Postby Arturo Lopesoria » Fri Feb 06, 2009 1: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
User avatar
Arturo Lopesoria
 
Posts: 94
Joined: Fri Aug 10, 2007 1:47 am
Location: Mexico DF

Re: checkbox en columna de un listbox

Postby Antonio Linares » Fri Feb 06, 2009 7: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
User avatar
Antonio Linares
Site Admin
 
Posts: 42113
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: checkbox en columna de un listbox

Postby Arturo Lopesoria » Fri Feb 06, 2009 2: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
User avatar
Arturo Lopesoria
 
Posts: 94
Joined: Fri Aug 10, 2007 1:47 am
Location: Mexico DF

Re: checkbox en columna de un listbox

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

Re: checkbox en columna de un listbox

Postby Arturo Lopesoria » Fri Feb 06, 2009 11:07 pm

Gracias Antonio. Saludos.
Arturo LS
User avatar
Arturo Lopesoria
 
Posts: 94
Joined: Fri Aug 10, 2007 1:47 am
Location: Mexico DF


Return to FiveWin para Pocket PC

Who is online

Users browsing this forum: No registered users and 18 guests