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

Вниз

Утечка GDI ресурсов при рисовании по TListView.Canvas   Найти похожие ветки 

 
www.shegeda.by.ru   (2004-06-24 10:08) [0]

Форма:
object Form1: TForm1
 object ListView1: TListView
   Left = 8
   Top = 8
   Width = 250
   Height = 150
   Columns = <
     item
       AutoSize = True
     end>
   Items.Data = {
     500000000300000000000000FFFFFFFFFFFFFFFF000000000000000003313233
     00000000FFFFFFFFFFFFFFFF00000000000000000333343500000000FFFFFFFF
     FFFFFFFF000000000000000003353637}
   ReadOnly = True
   RowSelect = True
   TabOrder = 0
   ViewStyle = vsReport
   OnClick = ListView1Click
   OnCustomDrawItem = ListView1CustomDrawItem
 end
end

Код:
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
 ComCtrls;

type
 TForm1 = class(TForm)
   ListView1: TListView;
   procedure ListView1Click(Sender: TObject);
   procedure ListView1CustomDrawItem(Sender: TCustomListView;
     Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.ListView1Click(Sender: TObject);
begin
 ListView1.Invalidate;
end;

procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
 Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
 with ListView1.Canvas.Brush do
 begin
   case Item.Index of
     0: Color := clYellow;
     1: Color := clGreen;
     2: Color := clRed;
   end;
 end;
end;

end.

Компилируем, запускаем. Предварительно толкаем "Индикатор сисменых ресурсов" (RSRCMTR.EXE)
Достаточно раз 20 щёлкнуть по ListView, чтобы увидеть значительное уменьшение ресурсов GDI (этот эффект, скорее всего не будет заметен в WindowsNT/2000/XP)
Люди! Подскажите, как этого избежать? Такой чудесный контрол, а я не могу его полноценно использовать из-за этого прикола...


 
www.shegeda.by.ru   (2004-06-24 12:35) [1]

ребятки, давайте подумаем! Я уже полгода мучаюсь, но раньше обходился StringGrid, а теперь припекло...



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

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

Наверх




Память: 0.47 MB
Время: 0.036 c
14-1087581793
Daniel_
2004-06-18 22:03
2004.07.11
Кто знает, на "Королевстве" долго вопросы обрабатываются?


8-1082609276
hellfire
2004-04-22 08:47
2004.07.11
TAnimate и AVI-файл, вкомпиленный в ресурсы внешней DLL


1-1088535721
Reviewreal
2004-06-29 23:02
2004.07.11
перевод из RTF в HTML


10-1018423056
Олег Лаукарт
2002-04-10 11:17
2004.07.11
XML-D6-VisiBroker4.1


3-1087424554
saNat
2004-06-17 02:22
2004.07.11
Почему не работают SQL-запросы при использовании ODBC