Page 1 of 1

Alto de linea en LISTBOX

PostPosted: Mon Mar 25, 2024 5:33 am
by José Camilo
Buenas noches.
Necesito cambiar el alto de la linea o registro que muestra un listbox a lo que trae por defecto.
lo que en un xbrowse se haria asi:

oBrw:nStretchCol := 2
oBrw:nRowHeight := 30
oBrw:nMarqueeStyle := 4


Como se puede hacer en listbox?

Gracias

Re: Alto de linea en LISTBOX

PostPosted: Mon Mar 25, 2024 11:30 am
by Antonio Linares
Puedes probar a cambiar el font usado por el listbox

Re: Alto de linea en LISTBOX

PostPosted: Mon Mar 25, 2024 12:35 pm
by Loren
Hola,
en mis Listbox yo los configuro de la siguiente manera:

Code: Select all  Expand view
 listagen:bkeydown     := {|nKey| iif(nKey==VK_RETURN, editage(.f.) ,)}
  listagen:bBkcolor     := {|nRow,nCol,nStyle| IF( nStyle == 3, IF( nCol == 3,iif(agenda->fechaaviso-date()<0,nRGB(240,70,70),CLR_HGRAY), ), ) }
  listagen:nclrPANE     :={||CLR_WHITE}
  listagen:nClrBackFocus:={||CLR_HGRAY}
  listagen:nClrForeFocus:={||CLR_BLACK}
  listagen:lAutoSkip    := .t.
  listagen:nLineStyle   :=1 &&4
  listagen:nHeaderHeight:=32
  listagen:nclrbackhead :={||CLR_GRAY}
  listagen:nclrFOREhead :={||CLR_WHITE}
  listagen:aJustify     := {1,0,0,0}
  listagen:nLineHeight  := 80      && <<---- este es el alto de línea
  listagen:nClrLine     :=CLR_GRAY
  listagen:UpStable()
  listagen:lDrawFooters:=.t.
  listagen:nclrbackhead:={||CLR_GRAY}
  listagen:nclrFOREhead:={||CLR_WHITE}
  listagen:nFooterHeight:=20
  listagen:nclrffore    :={||CLR_WHITE}
  listagen:nclrFback    :={||CLR_GRAY}


Espero te sirva,
Saludos!!

Re: Alto de linea en LISTBOX

PostPosted: Mon Mar 25, 2024 1:50 pm
by José Camilo
Antonio y Loren: Gracias por su tiempo.
Loren: entiendo que en esta definicion LISTAGEN es el OBJETO.
listagen:nLineHeight := 80 && <<---- este es el alto de línea

yo lo puse asi

oLbx:nLineHeight := 80
y me da error BASE/1005 Message not found: TWBROWSE:_NLINEHEIGHT

Antonio:
lo tengo definido asi:

define font oTipLet NAME "Courier" SIZE 10,14 // bold
DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-15

DEFINE DIALOG oDlg RESOURCE "CodLiqVar"
. . .
select _CoLiAux
_CoLiAux->(DbGotop())

REDEFINE LISTBOX oLbx FIELDS str(_CoLiAux->Locatario,4,0) , ;
_CoLiAux->Nombre , ;
str(_CoLiAux->Propiedad,4,0) , ;
_CoLiAux->Domicilio , ;
str(_CoLiAux->importe,12,0) ;
FIELDSIZES {50,150,50,200,90} ;
HEADERS "Cód.","Locatario","Cód","Domicilio","Importe" ;
ID _CLV_Lbx ;
FONT oTipLet ;
OF oDlg
oLbx:aJustify = {.t.,.f.,.t.,.f.,.t.}


Si uso la letra oFONT me da el error del mensaje anterior y aun cuando le cambio los tamaños continua el error.
Si uso oTipLet NO DA ERROR pero no me varia el alto de la linea.

Que mas se puede hacer?

Gracias

Re: Alto de linea en LISTBOX

PostPosted: Mon Mar 25, 2024 4:54 pm
by karinha
José Camilo wrote:Antonio y Loren: Gracias por su tiempo.
Loren: entiendo que en esta definicion LISTAGEN es el OBJETO.
listagen:nLineHeight := 80 && <<---- este es el alto de línea

yo lo puse asi

oLbx:nLineHeight := 80
y me da error BASE/1005 Message not found: TWBROWSE:_NLINEHEIGHT

Antonio:
lo tengo definido asi:

define font oTipLet NAME "Courier" SIZE 10,14 // bold
DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-15

DEFINE DIALOG oDlg RESOURCE "CodLiqVar"
. . .
select _CoLiAux
_CoLiAux->(DbGotop())

REDEFINE LISTBOX oLbx FIELDS str(_CoLiAux->Locatario,4,0) , ;
_CoLiAux->Nombre , ;
str(_CoLiAux->Propiedad,4,0) , ;
_CoLiAux->Domicilio , ;
str(_CoLiAux->importe,12,0) ;
FIELDSIZES {50,150,50,200,90} ;
HEADERS "Cód.","Locatario","Cód","Domicilio","Importe" ;
ID _CLV_Lbx ;
FONT oTipLet ;
OF oDlg
oLbx:aJustify = {.t.,.f.,.t.,.f.,.t.}


Si uso la letra oFONT me da el error del mensaje anterior y aun cuando le cambio los tamaños continua el error.
Si uso oTipLet NO DA ERROR pero no me varia el alto de la linea.

Que mas se puede hacer?

Gracias


Esto solo funciona con el TWBROWSE() by Hernan.

Regards, saludos.

Re: Alto de linea en LISTBOX

PostPosted: Mon Mar 25, 2024 5:14 pm
by José Camilo
Gracias Joao !!