Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.27;
Скачать: CL | DM;

Вниз

Как правильно отображать в TListView 32 -битные иконки   Найти похожие ветки 

 
vnavigator   (2004-12-06 20:05) [0]

Проблема в том что я создаю динамически иконки, и когда их отображаю на елементе управления TListView они выходят какие-то угловатые то есть 8-битные (в Listview я их добавляю с помощью TIcon и TImageList)


 
Mihey_temporary ©   (2004-12-06 20:36) [1]


> в Listview я их добавляю с помощью TIcon и TImageList


TIcon не умеет грузить 32-битные правильно.


 
vnavigator   (2004-12-06 23:05) [2]

Я сам знаю, что TIcon не умеет грузить 32-битные иконы правильно, а как это сделать, чтоб грузил правильно?


 
vnavigator   (2004-12-06 23:59) [3]

Короче я тут копал, копал и накопал:
unit uImgList;

interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
   Dialogs,CommCtrl;

procedure ConvertTo32BitImageList(const ImageList: TImageList);

implementation

procedure ConvertTo32BitImageList(const ImageList: TImageList);
const
 Mask: array[Boolean] of Longint = (0, ILC_MASK); var
 TempList: TImageList;
begin
 if Assigned(ImageList) then
 begin
   TempList := TImageList.Create(nil);
   try
     TempList.Assign(ImageList);
     with ImageList do
     begin
       Handle := ImageList_Create(Width, Height, ILC_COLOR32 or Mask[Masked],0, AllocBy);
       if not HandleAllocated then
         raise EInvalidOperation.Create("Bad ImageList");
     end;

     Imagelist.AddImages(TempList);
   finally
     FreeAndNil(TempList);
   end;
 end;
end;

end.


При создании формы вызываеш ConvertTo32BitImageList(ilIcons); и все ОК!!! Ура,Ура,Ура...



Страницы: 1 вся ветка

Текущий архив: 2005.03.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.057 c
1-1110971671
aleshap
2005-03-16 14:14
2005.03.27
Event OnEnter


3-1109760023
Shadow777
2005-03-02 13:40
2005.03.27
Выполнение скрипта через консоль


1-1110531349
lehich
2005-03-11 11:55
2005.03.27
диалог выбора папки?


3-1109235317
Peter_cc
2005-02-24 11:55
2005.03.27
SQL>255 символов


1-1110900914
Руслана
2005-03-15 18:35
2005.03.27
Можно ли отловить такое событие...