Si je code ça :
et que dans ListView1.SmallImages j'affecte ma TListImage ça fonctionne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 procedure TForm1.SetColumnImage(lv: TListView; Column, Image: Integer; ShowImage: Boolean); var Align,hHeader: integer; HD: HD_ITEM; begin hHeader := SendMessage(lv.Handle, LVM_GETHEADER, 0, 0); with HD do begin case lv.Columns[Column].Alignment of taLeftJustify: Align := HDF_LEFT; taCenter: Align := HDF_CENTER; taRightJustify: Align := HDF_RIGHT; else Align := HDF_LEFT; end; mask := HDI_IMAGE or HDI_FORMAT; pszText := PChar(lv.Columns[Column].Caption); if ShowImage then fmt := HDF_STRING or HDF_IMAGE or HDF_BITMAP_ON_RIGHT else fmt := HDF_STRING or Align; iImage := Image; //hbm := Image1.Picture.Bitmap.Handle ; end; SendMessage(hHeader, HDM_SETITEM, Column, Integer(@HD)); end; procedure TForm1.ListView1ColumnClick(Sender: TObject; Column: TListColumn); begin inherited; SetColumnImage(ListView1, Column.ID, 0, True) ; end; procedure TForm1.FormCreate(Sender: TObject); begin Bitmap := TBitmap.Create ; Bitmap.LoadFromFile('c:\temp\arrow.bmp'); Image1.Picture.Bitmap.Assign(Bitmap); end;
Mais si je décommente la ligne hbm := Image1.Picture.Bitmap.Handle ; et commente iImage := Image;
là il m'affiche aucune image.
Sur ce site : http://www.winapizone.net/tutorials/...nsortimage.php
j'ai peut-être trouvé une piste :
or nous on met HDI_IMAGE, j'essaye demain
Code : Sélectionner tout - Visualiser dans une fenêtre à part hi.mask = HDI_FORMAT | (isCommonControlVersion6 ? 0 : HDI_BITMAP);
Partager