Mostrar uma lista em que a altura da linha se ajustaria exactamente ao conteúdo é uma necessidade muito comum. 4D View Pro inclui uma nova funcionalidade para que possa agora controlar a altura de cada linha de forma independente numa caixa de listagem para a adequar ao seu conteúdo. Para saber mais sobre o 4D View Pro, consulte este post no blogue.
Existem agora duas formas de definir a altura das filas numa caixa de listagem:
- usando novos comandos dedicados
- utilizando uma nova matriz de controlo
Usando novos comandos
Os novos comandos LISTBOX SET ROW HEIGHT e LISTBOX Get row height permitir definir e obter a altura de cada fila individualmente.
Se executar este código:
LISTBOX SET ROW HEIGHT(*; "listboxname";1;184) //Pellentesque
LISTBOX SET ROW HEIGHT(*; "listboxname";2;41) //Vestibulumn
LISTBOX SET ROW HEIGHT(*; "listboxname";3;86) //Suspendisse
Obtém-se o seguinte resultado:
Utilização de uma matriz de controlo de altura
Pode utilizar esta propriedade para especificar o nome do conjunto da altura da linha que deseja associar à caixa de listagem.
Por exemplo, se escrever:
//current unit is lines
ARRAY LONGINT(<>RowHeightArray;20)
<>RowHeightArray{5}:=3
A quinta fila da caixa de listagem terá uma altura de três linhas, enquanto cada outra fila manterá a sua altura por defeito.
Também é possível associar a matriz de controlo de altura por programação. Os comandos LISTBOX SET ARRAY e LISTBOX Get array aceitam agora um selector de altura de coluna da Listbox que lhe permite definir a coluna de controlo de altura de coluna de linha através da programação.
LISTBOX SET ARRAY ( {* ;} object ; Listbox row height array ; <>RowHeightArray )
<>RowHeightArray:=LISTBOXGet array ( {* ;} object ; Listbox row height array )
Quer experimentar por si mesmo ? Basta descarregar o seguinte exemplo!
Para mais pormenores, consultar os seguintes artigos na documentação 4D v16: