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
Centrar columna en un LIXTBOX
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
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
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
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
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.
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.