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

Вниз

Рисование битмапа в листбоксе.   Найти похожие ветки 

 
tytus ©   (2004-01-29 10:37) [0]

Приветствую ВСЕХ. Есть код:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;Rect: TRect; State: TOwnerDrawState);
begin
with Control as TListBox,Canvas do
begin
FillRect(Rect);
ImageList1.GetBitmap(Index,BitMap);
Draw(Rect.Left,Rect.Top,BitMap);
TextOut(Rect.Left+40,Rect.Top,IntToStr(Index));
end;
BitMAp.Dormant;
BitMap.FreeImage;
end;
Все рисуется, разные битмапы (как я и хотел, если кто помнит), но БИТМАПЫ НЕ ОЧИЩАЮТСЯ, тоесть изображение накладывается одно на другое, и четвертый битмап состоит из предыдущих трех и четвертого поверх остальных. ВОПРОС - где и как лучше очищать битмап.


 
tytus ©   (2004-01-29 10:56) [1]

Не вижу другого выхода, как создавать и убивать битмап в TForm1.ListBox1DrawItem... Так работает, все класс,но не сильно ли это будет тормозить программу?


 
Jel ©   (2004-01-29 11:04) [2]

А для чего вообще создавать промежуточный BitMap? ImageList умеет рисовать сам.

ImageList1.Draw((Control as TListBox).Canvas, rect.top, rect.left, index);



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

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

Наверх




Память: 0.47 MB
Время: 0.036 c
1-29324
SeLarin
2004-01-29 15:01
2004.02.10
TLabel.Color


1-29456
ламер
2004-01-30 16:11
2004.02.10
Господа мастера! Помогите с указателями на процедуры!


1-29337
EMIL
2004-01-29 16:03
2004.02.10
TreeView копировать узелок


14-29549
sad
2004-01-21 08:17
2004.02.10
Lazarus.Win32..Компонент для работы с Interbase Firebird.


3-29210
RDen
2004-01-20 11:09
2004.02.10
Два вопроса: как узнать существует ли индекс у таблицы ?