Novedades de Xailer 5 (II)

Estimados usuarios de Xailer,

Hoy os quiero hablar del control TListView. Ese gran desconocido 馃槈 Este control es propio del API de Windows y b谩sicamente es un Browse que permite mostrar la informaci贸n de la misma forma que lo muestra el explorador de archivos del propio Windows. Posee los siguientes tipos de vista: Icon, SmallIcon, List, Tile y Details.

El Browse (TBrowse y sus heredados) que incorpora Xailer se parece a un TListView con vista ‘Details’. Cuando queremos mostrar la informaci贸n de esa forma, estilo rejilla, el browse de Xailer es infinitamente m谩s potente que TListView. Sin embargo, hay ocasiones en la que el TListView puede ser mejor candidato para los datos a mostrar. Obviamente cuando por el n煤mero de elementos a mostrar una vista del tipo distinto de ‘Details’ sea m谩s adecuada, pero tambi茅n puede ser un gran candidato cuando necesitemos agrupar los distintos elementos del browse o mostrar un ‘checkbox’ en cada uno de ellos.

TListview with groups

TListview with groups

Hasta Xailer 5 el control estaba bastante limitado ya que no se pod铆a personalizar casi nada, pero ahora ha mejorada completamente su funcionalidad permitiendo hacer cosas como esta:

TListView OnDrawCell

TListView OnDrawCell

Y este ha sido todo el c贸digo necesario para conseguirlo:

METHOD ListView1DrawCell( oSender, oItem, nColumn, nClrText, nClrPane, hDC, aRect ) CLASS TForm1
   LOCAL nWidth

聽 聽IF nColumn == 0
聽 聽 聽 RETURN 0 // Notify columns one by one
聽 聽ELSEIF nColumn == 1
聽 聽 聽 SelectObject( hDC, ::oFontBold:Handle )
聽 聽ELSE
聽 聽 聽SelectObject( hDC, ::oFont:Handle )
聽 聽 聽IF nColumn == 5
聽 聽 聽 聽 InflateRect( aRect, -1, -1 )
聽 聽 聽 聽 nWidth := Int( ( aRect[ 3 ] - aRect[ 1 ] ) * oItem:aData[ 4 ] / ::nMaxSize )
聽 聽 聽 聽 aRect[ 3 ] := aRect[ 1 ] + nWidth
聽 聽 聽 聽 FillRect( hDC, aRect, ::oBrushGauge:Handle )
聽 聽 聽 聽RETURN 2 // Do not paint anything
聽 聽 聽ENDIF
聽 聽ENDIF
RETURN Nil

Como veis toda su consigue sobrecargando su evento OnDrawCell que es muy f谩cil de hacer. Espero que os guste esta importante mejora que he realizado al control. Os animo a que empec茅is a usar el control TListView cuanto antes.

Un saludo

Un pensamiento en “Novedades de Xailer 5 (II)

Deja un comentario

Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *