[Lazarus-es] Poner el "SortMark" en el título de columna
Jesus Reyes
jesusrmx en yahoo.com.mx
Dom Mayo 23 23:03:24 CEST 2010
--- El vie 21-may-10, José Antonio Cuello <josea en artextrading.com> escribió:
> De: José Antonio Cuello <josea en artextrading.com>
> Asunto: [Lazarus-es] Poner el "SortMark" en el título de columna
> A: "Lazarus" <lazarus-es en lists.lazarus.freepascal.org>
> Fecha: viernes, 21 de mayo de 2010, 1:12
> Hola, estoy mirando de poner el
> iconito del sortmark en el TDBGrid, pero
> no logro hacerlo. He mirado un poco por la documentación
> de lazarus pero
> por sortmark no me aparece nada.
>
> Recuerdo que el delphi era algo así como usar el evento
> ongetcolumnparams (o algo parecido) pero tampoco he visto
> el evento en
> el código fuente db, dbgrid, dbgrids ...
>
> Bueno si alguien sabe indicarme donde buscar o sabe algo al
> respecto ...
> gracias
>
>
> ________________________________________________________________________
>
> ARTEX TRADING S.A.
> José Antonio Cuello Principal
>
Hay varias formas, una de ellas es tomando en cuenta que puedes asignar una imagen al titulo de las columnas:
1. agrega un TImageList al formulario.
2. agrega un par de imagenes al imagelist (por ejemplo lazarus/images/actions/arrow_up.png y arrow_down.png)
3. asigna a la propiedad TitleImageList del grid el ImageList
4. agrega las columnas al grid
5. para cada column.Title asigna un valor de ImageIndex
para cambiar la imagen en el evento OnHeaderClick del grid podrias poner algo como esto:
if Column=nil then
// click en el titulo de una columna fija o en la columna del indicador
else
if Column.Title.ImageIndex=0 then
Column.Title.ImageIndex := 1
else
if Column.Title.ImageIndex=1 then
Column.Title.ImageIndex := -1
else
if Column.Title.ImageIndex<0 then
Column.Title.ImageIndex := 0;
en este ejemplo la imagen es rotada entre nada y las primeras 2 imagenes del ImageList.
Jesus Reyes A.
More information about the Lazarus-es
mailing list