Page 1 of 1

Centrar columna en un LIXTBOX

Posted: Tue Apr 22, 2008 5:03 pm
by colthop
Hola amigos:

Quisiera saber si hay alguna manera de centrar el contenido de una columna en un LISTBOX. Algo parecido a aJustify pero que en vez de alinearlo a la derecha lo centre en la columna.

Un saludo

Carlos

Posted: Tue Apr 22, 2008 5:43 pm
by Antonio Linares
Carlos,

Te refieres a un browse ? Cual browse estás usando ?

Posted: Tue Apr 22, 2008 5:47 pm
by colthop
Hola Antonio:

Yo me refiero a:

@ 1, 2 LISTBOX odlg09 VAR oLbx2 ;
FIELDS letra, puesto;
FIELDSIZES 120,120;
HEADERS "Unidad", "SI o NO";
SIZE 120,120;
ON LEFT CLICK cambitras();
OF odlgw
oLbx2:aJustify:={.T.,.T.}

Si pongo la última linea me lo justifica a la derecha y lo que quisiera saber si hay alguna instruccion en vez de esa que lo que haga es centrarlo.

Un saludo

carlos

Posted: Tue Apr 22, 2008 6:00 pm
by Antonio Linares
Carlos,

Ok, estas usando la clase TWBrowse.

Si revisas el fichero source\classes\wbrowse.prg en la función wBrwLine() verás que se usan unas llamadas a:

SetTextAlign( hDC, TA_RIGHT )
ó a
SetTextAlign( hDC, TA_LEFT )

Necesitarías SetTextAlign( hDC, TA_CENTER ) para centrar el texto. Lo que ocurre es que nosotros usamos un valor lógico en el array aJustify, por lo que no serviría para indicarle centrado, ya que necesitamos un tercer estado.

Hay que pensar la forma de hacerlo manteniendo la compatibilidad con el código actual. Mientras tanto puedes modificar tu mismo source\classes\wbrowse.prg y probarlo.

Posted: Tue Apr 22, 2008 6:03 pm
by colthop
Gracias Antonio asi lo hare.

Un saliudo

Carlos