Главная страница
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.048 c
14-1110131223
k@rt
2005-03-06 20:47
2005.03.27
Анлим в Питере


1-1110863289
smok_red
2005-03-15 08:08
2005.03.27
Почему не работает ??


9-1104646617
netreym
2005-01-02 09:16
2005.03.27
OpenGL загрузка моделей


1-1110958296
Aleks
2005-03-16 10:31
2005.03.27
Базы компонент DBGrid1 как узнать номер строки????


3-1109154080
serg128
2005-02-23 13:21
2005.03.27
Помогите с LookUp полями!