Главный модуль программы (часть 21) - SetColumnImage

Рубрика: Исходники
Среда, 21 апреля 2010 г.
Просмотров: 215
последняя версия: 3.0.9 build 961 beta
от 07 декабря 2007 г.
procedure TForm1.SetColumnImage( List: TspSkinListView; Column, Image: Integer; ShowImage: Boolean);
var  
  Align,hHeader: integer;  
  HD: HD_ITEM;
  xb: TBitmap;
begin
  hHeader := SendMessage(List.Handle, LVM_GETHEADER, 0, 0);
  xb:= TBitmap.Create;
  xb.Width:= 16;
  xb.Height:= 16;

  PngImageList5.Draw(xb.Canvas, 1, 1, Image);
  with HD do
    begin
      case List.Columns[Column].Alignment of
        taLeftJustify:  Align := HDF_LEFT;
        taCenter:       Align := HDF_CENTER;
        taRightJustify: Align := HDF_RIGHT;
      else
        Align := HDF_LEFT;
      end;
      //mask := HDI_BITMAP or HDI_IMAGE or HDI_FORMAT;
      mask := HDI_BITMAP;
      pszText := PChar(List.Columns[Column].Caption);
      //if ShowImage then fmt := HDF_STRING or HDF_IMAGE or HDF_BITMAP    or HDF_BITMAP_ON_RIGHT
      //             else fmt := HDF_STRING or Align;
      if ShowImage then fmt := HDF_STRING or HDF_BITMAP
                   else fmt := HDF_STRING or Align;
      iImage := Image;
      hbm:= xb.Handle;
    end;
  
  SendMessage(hHeader, HDM_SETITEM, Column, Integer(@HD));
  xb.Free;
end;
Rambler's Top100